Mercurial > hg
view tests/testlib/ext-phase-report.py @ 44209:ae4d729eb3c8
tests: add test showing crash when shelving ghosted rename target
When you `hg rename` a file and then delete the rename target, `hg
shelve` will give you a traceback.
Note that the shelve succeeds and the shelve is correct, it's just the
update to the parent that fails (i.e. to the parent of the commit that
was created for the shelve).
This can be squashed into the next commit if the reviewer prefers.
Differential Revision: https://phab.mercurial-scm.org/D8045
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 29 Jan 2020 23:05:02 -0800 |
parents | 2372284d9457 |
children | fdc802f29b2c |
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