mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
644ade23db
Now that we have all tracking in place, the data in `tr.changes['phases']` dictionary should be correct and we should test it. It is a bit late in the cycle to discuss to add any public API (eg: hooks) that expose the data to the user, so we just add a small test extension displaying the data. It is enabled for the phases tests. New output have been manually checked for consistency.
23 lines
799 B
Python
23 lines
799 B
Python
# 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['phases'].iteritems()):
|
|
if move[0] is None:
|
|
ui.write(('test-debug-phase: new rev %d: x -> %d\n'
|
|
% (rev, move[1])))
|
|
else:
|
|
ui.write(('test-debug-phase: move rev %d: %s -> %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('report-phase', reportphasemove)
|
|
return tr
|
|
|
|
repo.__class__ = reportphaserepo
|