annotate: mark lines affected by skip-annotate with *
This is to prevent weird surprises from happening with skips being attributed
to the wrong changeset.
.. feature::
`hg annotate --skip` now prints a `*` on lines with skipped revisions
Differential Revision: https://phab.mercurial-scm.org/D900
--- a/mercurial/commands.py Mon Oct 02 02:34:47 2017 -0700
+++ b/mercurial/commands.py Mon Oct 02 18:18:57 2017 +0100
@@ -400,7 +400,11 @@
for f, p, l in zip(zip(*formats), zip(*pieces), lines):
fm.startitem()
fm.write(fields, "".join(f), *p)
- fm.write('line', ": %s", l[1])
+ if l[0].skip:
+ fmt = "* %s"
+ else:
+ fmt = ": %s"
+ fm.write('line', fmt, l[1])
if not lines[-1][1].endswith('\n'):
fm.plain('\n')
--- a/tests/test-annotate.t Mon Oct 02 02:34:47 2017 -0700
+++ b/tests/test-annotate.t Mon Oct 02 18:18:57 2017 +0100
@@ -261,8 +261,8 @@
$ hg annotate -nlf b --skip 6
0 a:1: a
- 1 a:2: z (no-pure !)
0 a:1: z (pure !)
+ 1 a:2* z
1 a:3: a
3 b:4: b4
4 b:5: c
@@ -275,9 +275,9 @@
0 a:1: a
6 b:2: z
1 a:3: a
- 1 a:3: b4
+ 1 a:3* b4
4 b:5: c
- 1 a:3: b5
+ 1 a:3* b5
7 b:7: d
$ hg annotate -nlf b --skip 4
@@ -285,7 +285,7 @@
6 b:2: z
1 a:3: a
3 b:4: b4
- 1 a:3: c
+ 1 a:3* c
3 b:5: b5
7 b:7: d
@@ -293,9 +293,9 @@
0 a:1: a
6 b:2: z
1 a:3: a
- 1 a:3: b4
- 1 a:3: c
- 1 a:3: b5
+ 1 a:3* b4
+ 1 a:3* c
+ 1 a:3* b5
7 b:7: d
$ hg annotate -nlf b --skip 'merge()'
@@ -305,18 +305,18 @@
3 b:4: b4
4 b:5: c
3 b:5: b5
- 3 b:5: d
+ 3 b:5* d
--skip everything -- use the revision the file was introduced in
$ hg annotate -nlf b --skip 'all()'
0 a:1: a
- 0 a:1: z
- 0 a:1: a
- 0 a:1: b4
- 0 a:1: c
- 0 a:1: b5
- 0 a:1: d
+ 0 a:1* z
+ 0 a:1* a
+ 0 a:1* b4
+ 0 a:1* c
+ 0 a:1* b5
+ 0 a:1* d
Issue2807: alignment of line numbers with -l