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
--- 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 ..