D2938: grep: make grep search on working directory by default
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Mon Jun 11 17:13:17 UTC 2018
martinvonz added inline comments.
INLINE COMMENTS
> sangeet259 wrote in commands.py:2584
> I could have made the call by simply passing `''` instead of `opts.get('rev')` but I chose this because I am planning to build upon this to handle revisions as well.
I agree with Pulkit: it's clearer to change this to
ctx = repo[None]
m = scmutil.match(ctx, pats, opts, default='relglob')
for now and start calling revsingle() in a later patch
> commands.py:2575
> fm = ui.formatter('grep', opts)
> - for ctx in cmdutil.walkchangerevs(repo, match, opts, prep):
> - rev = ctx.rev()
> - parent = ctx.p1().rev()
> - for fn in sorted(revfiles.get(rev, [])):
> - states = matches[rev][fn]
> - copy = copies.get(rev, {}).get(fn)
> - if fn in skip:
> - if copy:
> - skip[copy] = True
> + # This if part handles the default situation,\
> + # when nothing is passed in -r or --all
nit: can you change 'if part' to 'if-part' or '"if" part' to make it easier to parse? Also drop the trailing backslash.
Actually, the comment doesn't seem to add any useful information, so I'd suggest either removing it or changing it to something like "When neither -r nor --all is passed, search the working copy" (if that's accurate)
> commands.py:2577
> + # when nothing is passed in -r or --all
> + if not (opts.get('rev') or opts.get('all')):
> + rev = scmutil.revsingle(repo, opts.get('rev'), None).node()
drop one of the spaces before "or"
> commands.py:2585
> + for fn in ctx.matches(m):
> + if rev is None and ds[fn] == 'r':
> continue
can you drop "rev is None" for now (since it's always true)?
> commands.py:2585
> + for fn in ctx.matches(m):
> + if rev is None and ds[fn] == 'r':
> continue
It's surprising to me that ctx.matches() can include files that are not tracked. I'll see if I can send a patch to change that. (No action expected from you)
> test-grep.t:293
> $ hg ci -Am rename
> $ hg grep octarine
> + colour:octarine
Perhaps it's better to preserve the old behavior here (by adding --all, I think)? I'm not sure what the reason for this call is, though, so perhaps it could instead be removed?
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2938
To: sangeet259, #hg-reviewers
Cc: martinvonz, av6, yuja, pulkit, mercurial-devel
More information about the Mercurial-devel
mailing list