changeset 38653:aabc01da9834

grep: hide cryptic revision number by default I believe nobody would want to see the "2147483647:" prefix while grepping working directory files. The wdir revision is still visible if "-r wdir()" is specified since a revset may point to more than one revisions, and it seems confusing to change the visibility dynamically by the number of the matched revisions. Differential Revision: https://phab.mercurial-scm.org/D3920
author Yuya Nishihara <yuya@tcha.org>
date Tue, 10 Jul 2018 22:55:30 +0900
parents bfcd5c7cbf9a
children 0d27d6bcfb28
files mercurial/commands.py tests/test-grep.t
diffstat 2 files changed, 28 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Wed Jul 11 22:06:04 2018 +0900
+++ b/mercurial/commands.py	Tue Jul 10 22:55:30 2018 +0900
@@ -2538,7 +2538,8 @@
     if opts.get('all_files') is None and not opts.get('rev') and not diff:
         # experimental config: commands.grep.all-files
         opts['all_files'] = ui.configbool('commands', 'grep.all-files')
-    if opts.get('all_files') and not opts.get('rev'):
+    plaingrep = opts.get('all_files') and not opts.get('rev')
+    if plaingrep:
         opts['rev'] = ['wdir()']
 
     reflags = re.M
@@ -2648,7 +2649,7 @@
 
             cols = [
                 ('filename', fn, True),
-                ('rev', rev, True),
+                ('rev', rev, not plaingrep),
                 ('linenumber', l.linenum, opts.get('line_number')),
             ]
             if diff:
--- a/tests/test-grep.t	Wed Jul 11 22:06:04 2018 +0900
+++ b/tests/test-grep.t	Tue Jul 10 22:55:30 2018 +0900
@@ -416,8 +416,8 @@
 
   $ echo modified >> new
   $ hg grep --all-files mod
-  new:2147483647:modified
-  um:2147483647:unmod
+  new:modified
+  um:unmod
 
  which can be overridden by -rREV
 
@@ -427,8 +427,8 @@
 commands.all-files can be negated by --no-all-files
 
   $ hg grep --config commands.grep.all-files=True mod
-  new:2147483647:modified
-  um:2147483647:unmod
+  new:modified
+  um:unmod
   $ hg grep --config commands.grep.all-files=True --no-all-files mod
   um:0:unmod
 
@@ -469,5 +469,25 @@
   $ hg add file1
   $ hg commit -m "adds file1"
   $ hg mv file1 file2
+
+wdir revision is hidden by default:
+
   $ hg grep "some"
-  file2:2147483647:some text
+  file2:some text
+
+but it should be available in template dict:
+
+  $ hg grep "some" -Tjson
+  [
+   {
+    "date": [0, 0],
+    "file": "file2",
+    "line_number": 1,
+    "node": "ffffffffffffffffffffffffffffffffffffffff",
+    "rev": 2147483647,
+    "texts": [{"matched": true, "text": "some"}, {"matched": false, "text": " text"}],
+    "user": "test"
+   }
+  ]
+
+  $ cd ..