changeset 34434:884b595f5195

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
author Siddharth Agarwal <sid0@fb.com>
date Mon, 02 Oct 2017 18:18:57 +0100
parents 2f5a135b2b04
children 5326e4ef1dab
files mercurial/commands.py tests/test-annotate.t
diffstat 2 files changed, 19 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- 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