Mercurial > hg
view tests/testlib/ext-phase-report.py @ 39958:3d35304bd09b
context: move logic from changectx.__init__ to localrepo.__getitem__ (API)
My motivation for this change was to make repo[node] not load the
dirstate (more about that in the next patch), but I think it makes
more sense this way too. For example, raising RepoLookupError seems to
belong better in the repo lookup function
(i.e. localrepo.__getitem__).
This makes the changectx constructor very simple -- it just assigns
the given repo, revnum, and nodeid to properties.
Differential Revision: https://phab.mercurial-scm.org/D4827
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 26 Sep 2018 22:53:14 -0700 |
parents | 3b4d14beac3d |
children | 2372284d9457 |
line wrap: on
line source
# tiny extension to report phase changes during transaction from __future__ import absolute_import def reposetup(ui, repo): def reportphasemove(tr): for rev, move in sorted(tr.changes[b'phases'].items()): if move[0] is None: ui.write((b'test-debug-phase: new rev %d: x -> %d\n' % (rev, move[1]))) else: ui.write((b'test-debug-phase: move rev %d: %d -> %d\n' % (rev, move[0], move[1]))) class reportphaserepo(repo.__class__): def transaction(self, *args, **kwargs): tr = super(reportphaserepo, self).transaction(*args, **kwargs) tr.addpostclose(b'report-phase', reportphasemove) return tr repo.__class__ = reportphaserepo