tests/testlib/ext-phase-report.py
changeset 43076 2372284d9457
parent 36044 3b4d14beac3d
child 44548 fdc802f29b2c
equal deleted inserted replaced
43075:57875cf423c9 43076:2372284d9457
     1 # tiny extension to report phase changes during transaction
     1 # tiny extension to report phase changes during transaction
     2 
     2 
     3 from __future__ import absolute_import
     3 from __future__ import absolute_import
     4 
     4 
       
     5 
     5 def reposetup(ui, repo):
     6 def reposetup(ui, repo):
     6 
       
     7     def reportphasemove(tr):
     7     def reportphasemove(tr):
     8         for rev, move in sorted(tr.changes[b'phases'].items()):
     8         for rev, move in sorted(tr.changes[b'phases'].items()):
     9             if move[0] is None:
     9             if move[0] is None:
    10                 ui.write((b'test-debug-phase: new rev %d:  x -> %d\n'
    10                 ui.write(
    11                           % (rev, move[1])))
    11                     (
       
    12                         b'test-debug-phase: new rev %d:  x -> %d\n'
       
    13                         % (rev, move[1])
       
    14                     )
       
    15                 )
    12             else:
    16             else:
    13                 ui.write((b'test-debug-phase: move rev %d: %d -> %d\n'
    17                 ui.write(
    14                           % (rev, move[0], move[1])))
    18                     (
       
    19                         b'test-debug-phase: move rev %d: %d -> %d\n'
       
    20                         % (rev, move[0], move[1])
       
    21                     )
       
    22                 )
    15 
    23 
    16     class reportphaserepo(repo.__class__):
    24     class reportphaserepo(repo.__class__):
    17         def transaction(self, *args, **kwargs):
    25         def transaction(self, *args, **kwargs):
    18             tr = super(reportphaserepo, self).transaction(*args, **kwargs)
    26             tr = super(reportphaserepo, self).transaction(*args, **kwargs)
    19             tr.addpostclose(b'report-phase', reportphasemove)
    27             tr.addpostclose(b'report-phase', reportphasemove)