Submitter | phabricator |
---|---|
Date | June 16, 2018, 1:46 p.m. |
Message ID | <c581d7737f9708d2f190e18d7c4dab5b@localhost.localdomain> |
Download | mbox | patch |
Permalink | /patch/32195/ |
State | Not Applicable |
Headers | show |
Comments
> + $ hg init sng > + $ cd sng > + $ echo "unmod" >> um > + $ hg ci -A -m "adds unmod to um" > + adding um > + $ echo "something else" >> new > + $ hg ci -A -m "second commit" > + adding new > + $ hg grep -r "." "unmod" > + [1] > + $ hg grep -r "." "unmod" --unmodified --allfiles ? > @@ -1881,6 +1881,9 @@ > yielding each context, the iterator will first call the prepare > function on each context in the window in forward order.''' > > + allfiles = opts.get('allfiles') > + if allfiles and len(revs) > 1: > + raise error.Abort(_("multiple revisions not supported with --allfiles")) `revs` isn't defined yet. > follow = opts.get('follow') or opts.get('follow_first') > revs = _walkrevs(repo, opts) > if not revs:
yuja added a comment. > + $ hg init sng > + $ cd sng > + $ echo "unmod" >> um > + $ hg ci -A -m "adds unmod to um" > + adding um > + $ echo "something else" >> new > + $ hg ci -A -m "second commit" > + adding new > + $ hg grep -r "." "unmod" > + [1] > + $ hg grep -r "." "unmod" --unmodified --allfiles ? > @@ -1881,6 +1881,9 @@ > > yielding each context, the iterator will first call the prepare > function on each context in the window in forward order.''' > > > + allfiles = opts.get('allfiles') > + if allfiles and len(revs) > 1: > + raise error.Abort(_("multiple revisions not supported with --allfiles")) `revs` isn't defined yet. > follow = opts.get('follow') or opts.get('follow_first') > revs = _walkrevs(repo, opts) > if not revs: REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D3728 To: sangeet259, #hg-reviewers Cc: pulkit, yuja, mharbison72, mercurial-devel
Patch
diff --git a/tests/test-grep.t b/tests/test-grep.t --- a/tests/test-grep.t +++ b/tests/test-grep.t @@ -368,3 +368,20 @@ binfile.bin:0:+: Binary file matches $ cd .. + +Test for showing working of unmodified flag + + $ hg init sng + $ cd sng + $ echo "unmod" >> um + $ hg ci -A -m "adds unmod to um" + adding um + $ echo "something else" >> new + $ hg ci -A -m "second commit" + adding new + $ hg grep -r "." "unmod" + [1] + $ hg grep -r "." "unmod" --unmodified + um:1:unmod + + $ cd .. diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2408,6 +2408,8 @@ ('n', 'line-number', None, _('print matching line numbers')), ('r', 'rev', [], _('only search files changed within revision range'), _('REV')), + ('', 'allfiles', False, + _('include all files in the changeset while grepping (EXPERIMENTAL)')), ('u', 'user', None, _('list the author (long with -v)')), ('d', 'date', None, _('list the date (short with -q)')), ] + formatteropts + walkopts, diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -1881,6 +1881,9 @@ yielding each context, the iterator will first call the prepare function on each context in the window in forward order.''' + allfiles = opts.get('allfiles') + if allfiles and len(revs) > 1: + raise error.Abort(_("multiple revisions not supported with --allfiles")) follow = opts.get('follow') or opts.get('follow_first') revs = _walkrevs(repo, opts) if not revs: @@ -1990,7 +1993,11 @@ ctx = change(rev) if not fns: def fns_generator(): - for f in ctx.files(): + if allfiles and len(revs) == 1: + fiter = iter(ctx) + else: + fiter = ctx.files() + for f in fiter: if match(f): yield f fns = fns_generator()