tests/testlib/ext-phase-report.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 24 Nov 2021 04:43:57 +0100
changeset 48402 be2317167a9b
parent 44548 fdc802f29b2c
child 48875 6000f5b25c9b
permissions -rw-r--r--
dirstate-item: make sure we load `mtime-second-ambiguous` from disk Now that we support the associated logic, we can safely load it from it. It is no longer necessary to ignore the stored mtime when the flag is encountered. Differential Revision: https://phab.mercurial-scm.org/D11846

# tiny extension to report phase changes during transaction

from __future__ import absolute_import


def reposetup(ui, repo):
    def reportphasemove(tr):
        for revs, move in sorted(tr.changes[b"phases"], key=lambda r: r[0][0]):
            for rev in revs:
                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