ext-phase-report.py
31 lines
| 1.0 KiB
| text/x-python
|
PythonLexer
Boris Feld
|
r33459 | # tiny extension to report phase changes during transaction | ||
from __future__ import absolute_import | ||||
Augie Fackler
|
r43346 | |||
Boris Feld
|
r33459 | def reposetup(ui, repo): | ||
def reportphasemove(tr): | ||||
Joerg Sonnenberger
|
r45036 | 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]) | ||||
) | ||||
Augie Fackler
|
r43346 | ) | ||
Joerg Sonnenberger
|
r45036 | else: | ||
ui.write( | ||||
( | ||||
b'test-debug-phase: move rev %d: %d -> %d\n' | ||||
% (rev, move[0], move[1]) | ||||
) | ||||
Augie Fackler
|
r43346 | ) | ||
Boris Feld
|
r33459 | |||
class reportphaserepo(repo.__class__): | ||||
def transaction(self, *args, **kwargs): | ||||
tr = super(reportphaserepo, self).transaction(*args, **kwargs) | ||||
Gregory Szorc
|
r36061 | tr.addpostclose(b'report-phase', reportphasemove) | ||
Boris Feld
|
r33459 | return tr | ||
repo.__class__ = reportphaserepo | ||||