Mercurial > hg
annotate tests/testlib/ext-phase-report.py @ 44011:c627f1b2f3c3
rust-index: handle `MixedIndex` in `pyindex_to_graph`
On the long run we will want to implement the Graph trait directly in Rust, but
for now we take the path with the least amount of change to focus on the coming
persistent NodeMap code.
We test this new code through with the lazy ancestors code.
Differential Revision: https://phab.mercurial-scm.org/D7657
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 12 Dec 2019 18:11:44 +0100 |
parents | 2372284d9457 |
children | fdc802f29b2c |
rev | line source |
---|---|
33459
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
1 # tiny extension to report phase changes during transaction |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
2 |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
3 from __future__ import absolute_import |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
4 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
5 |
33459
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
6 def reposetup(ui, repo): |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
7 def reportphasemove(tr): |
36044
3b4d14beac3d
py3: port ext-phase-report.py extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33459
diff
changeset
|
8 for rev, move in sorted(tr.changes[b'phases'].items()): |
33459
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
9 if move[0] is None: |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
10 ui.write( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
11 ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
12 b'test-debug-phase: new rev %d: x -> %d\n' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
13 % (rev, move[1]) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
14 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
15 ) |
33459
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
16 else: |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
17 ui.write( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
18 ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
19 b'test-debug-phase: move rev %d: %d -> %d\n' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
20 % (rev, move[0], move[1]) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
21 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36044
diff
changeset
|
22 ) |
33459
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
23 |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
24 class reportphaserepo(repo.__class__): |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
25 def transaction(self, *args, **kwargs): |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
26 tr = super(reportphaserepo, self).transaction(*args, **kwargs) |
36044
3b4d14beac3d
py3: port ext-phase-report.py extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33459
diff
changeset
|
27 tr.addpostclose(b'report-phase', reportphasemove) |
33459
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
28 return tr |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
29 |
67a3204c83c1
phases: test phases tracking at the transaction level
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
30 repo.__class__ = reportphaserepo |