Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 18:33:45 -0400] rev 44851
grep: grep the working copy faster
`hg grep qqqq` in the mercurial repo:
before: 0,859s
after: 0,233s
`hg grep somethingwithnomatch` in mozilla-central:
before: 51s
after: 19s
This is probably also a tiny bug fix, because the code was looking up
a node for filename `pfn` on a filelog for filename `fn`, which are
most of the time the same filename, but don't have to be.
Ignoring performance and the bug fix, the code should have the same
behavior.
Differential Revision: https://phab.mercurial-scm.org/D8545
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 13:10:54 -0400] rev 44850
grep: stop computing information for --diff when unnecessary
This is one reason why `hg grep pattern` essentially does `hg cat -r
. 'set:**'` inside. There is no speed improvement in this commit,
because the rest of the code still greps data from filelog instead of
working copy when possible.
Differential Revision: https://phab.mercurial-scm.org/D8544
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 12:52:43 -0400] rev 44849
grep: don't go in an infinite loop when given empty regex
Differential Revision: https://phab.mercurial-scm.org/D8543
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 12:49:12 -0400] rev 44848
grep: improve test coverage
Differential Revision: https://phab.mercurial-scm.org/D8542