D3763: grep: add `--diff` flag
sangeet259 (Sangeet Kumar Mishra)
phabricator at mercurial-scm.org
Thu Jun 21 08:45:23 EDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG7fbb5d76c555: grep: add --diff flag (authored by sangeet259, committed by ).
CHANGED PRIOR TO COMMIT
https://phab.mercurial-scm.org/D3763?vs=9217&id=9245#toc
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D3763?vs=9217&id=9245
REVISION DETAIL
https://phab.mercurial-scm.org/D3763
AFFECTED FILES
mercurial/commands.py
tests/test-completion.t
tests/test-grep.t
CHANGE DETAILS
diff --git a/tests/test-grep.t b/tests/test-grep.t
--- a/tests/test-grep.t
+++ b/tests/test-grep.t
@@ -281,6 +281,11 @@
color:2:-:orange
color:1:+:orange
+ $ hg grep --diff orange
+ color:3:+:orange
+ color:2:-:orange
+ color:1:+:orange
+
test substring match: '^' should only match at the beginning
$ hg grep '^.' --config extensions.color= --color debug
@@ -349,6 +354,10 @@
color:3:-:red
color:1:+:red
+ $ hg grep --diff red
+ color:3:-:red
+ color:1:+:red
+
Issue3885: test that changing revision order does not alter the
revisions printed, just their order.
@@ -360,6 +369,14 @@
color:3:-:red
color:1:+:red
+ $ hg grep --diff red -r "all()"
+ color:1:+:red
+ color:3:-:red
+
+ $ hg grep --diff red -r "reverse(all())"
+ color:3:-:red
+ color:1:+:red
+
$ cd ..
$ hg init a
@@ -370,6 +387,9 @@
$ hg grep "MaCam" --all
binfile.bin:0:+: Binary file matches
+ $ hg grep "MaCam" --diff
+ binfile.bin:0:+: Binary file matches
+
$ cd ..
Test for showing working of allfiles flag
diff --git a/tests/test-completion.t b/tests/test-completion.t
--- a/tests/test-completion.t
+++ b/tests/test-completion.t
@@ -313,7 +313,7 @@
debugwireproto: localssh, peer, noreadstderr, nologhandshake, ssh, remotecmd, insecure
files: rev, print0, include, exclude, template, subrepos
graft: rev, continue, stop, edit, log, force, currentdate, currentuser, date, user, tool, dry-run
- grep: print0, all, text, follow, ignore-case, files-with-matches, line-number, rev, allfiles, user, date, template, include, exclude
+ grep: print0, all, diff, text, follow, ignore-case, files-with-matches, line-number, rev, allfiles, user, date, template, include, exclude
heads: rev, topo, active, closed, style, template
help: extension, command, keyword, system
identify: rev, num, id, branch, tags, bookmarks, ssh, remotecmd, insecure, template
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2391,6 +2391,8 @@
@command('grep',
[('0', 'print0', None, _('end fields with NUL')),
('', 'all', None, _('print all revisions that match')),
+ ('', 'diff', None, _('print all revisions when the term was introduced '
+ 'or removed')),
('a', 'text', None, _('treat all files as text')),
('f', 'follow', None,
_('follow changeset history,'
@@ -2419,7 +2421,7 @@
file in which it finds a match. To get it to print every revision
that contains a change in match status ("-" for a match that becomes
a non-match, or "+" for a non-match that becomes a match), use the
- --all flag.
+ --diff/--all flag.
PATTERN can be any Python (roughly Perl-compatible) regular
expression.
@@ -2431,6 +2433,7 @@
Returns 0 if a match is found, 1 otherwise.
"""
opts = pycompat.byteskwargs(opts)
+ diff = opts.get('all') or opts.get('diff')
reflags = re.M
if opts.get('ignore_case'):
reflags |= re.I
@@ -2527,7 +2530,7 @@
return ctx[fn].isbinary()
fieldnamemap = {'filename': 'file', 'linenumber': 'line_number'}
- if opts.get('all'):
+ if diff:
iter = difflinestates(pstates, states)
else:
iter = [('', l) for l in states]
@@ -2540,7 +2543,7 @@
('rev', rev, True),
('linenumber', l.linenum, opts.get('line_number')),
]
- if opts.get('all'):
+ if diff:
cols.append(('change', change, True))
cols.extend([
('user', formatuser(ctx.user()), opts.get('user')),
@@ -2644,7 +2647,7 @@
if pstates or states:
r = display(fm, fn, ctx, pstates, states)
found = found or r
- if r and not opts.get('all'):
+ if r and not diff:
skip[fn] = True
if copy:
skip[copy] = True
To: sangeet259, #hg-reviewers
Cc: yuja, pulkit, mercurial-devel
More information about the Mercurial-devel
mailing list