Augie Fackler <augie@google.com> [Mon, 18 May 2020 14:59:59 -0400] rev 44915
mergestate: split out merge state handling code from main merge module
There's already some pretty reasonable encapsulation here, but I want
to make the mergestate storage a property of the context so memctx
instances can do a reasonable thing. This is the first step in a
reshuffle to make that easier.
Differential Revision: https://phab.mercurial-scm.org/D8550
Augie Fackler <augie@google.com> [Mon, 18 May 2020 12:45:45 -0400] rev 44914
tests: add coverage for repo.changelog.children() in the git extension
Differential Revision: https://phab.mercurial-scm.org/D8548
Augie Fackler <augie@google.com> [Mon, 18 May 2020 12:41:16 -0400] rev 44913
tests: add coverage for repo.changelog.findmissing() in test-git-interop.t
This at least does a basic test of the method. It's not
super-complete, but it's better than the nothing we'd otherwise have.
Differential Revision: https://phab.mercurial-scm.org/D8547
Augie Fackler <augie@google.com> [Mon, 18 May 2020 13:18:05 -0400] rev 44912
relnotes: add API change note per request in D8502
Differential Revision: https://phab.mercurial-scm.org/D8549
Martin von Zweigbergk <martinvonz@google.com> [Tue, 26 May 2020 08:07:24 -0700] rev 44911
merge with stable
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 18:33:45 -0400] rev 44910
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 44909
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 44908
grep: don't go in an infinite loop when given empty regex
Differential Revision: https://phab.mercurial-scm.org/D8543