view tests/testlib/ext-phase-report.py @ 37763:b54404d66f7e

export: invoke the file prefetch hook cmdutil.exportfile() is only called by shelve, mq and patchbomb. Those are unlikely to mix with lfs, but it may as well be invoked there for completeness.
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 14 Apr 2018 19:43:45 -0400
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