Tue, 26 May 2020 07:03:11 -0400 scmutil: speed up relativization of paths when it's a no-op
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Tue, 26 May 2020 07:03:11 -0400] rev 44858
scmutil: speed up relativization of paths when it's a no-op Running commands from the root is commmon, in particular for automation. Running `hg files > /tmp/a` from the root of mozilla-central on linux: before: real 0m1,510s user 0m1,387s sys 0m0,090s after: real 0m1,266s user 0m1,165s sys 0m0,073s (there are 280k paths, so this was costing ~1us per path somehow) Differential Revision: https://phab.mercurial-scm.org/D8585
Mon, 18 May 2020 16:00:26 -0400 context: implement mergestate() method
Augie Fackler <augie@google.com> [Mon, 18 May 2020 16:00:26 -0400] rev 44857
context: implement mergestate() method This will let us have the mergestate storage be controlled by the context. In particular, for working contexts we should use the existing mergestate, but for overlay contexts it's inappropriate to drop files in .hg/merge. Differential Revision: https://phab.mercurial-scm.org/D8551
Mon, 18 May 2020 14:59:59 -0400 mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com> [Mon, 18 May 2020 14:59:59 -0400] rev 44856
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
Mon, 18 May 2020 12:45:45 -0400 tests: add coverage for repo.changelog.children() in the git extension
Augie Fackler <augie@google.com> [Mon, 18 May 2020 12:45:45 -0400] rev 44855
tests: add coverage for repo.changelog.children() in the git extension Differential Revision: https://phab.mercurial-scm.org/D8548
Mon, 18 May 2020 12:41:16 -0400 tests: add coverage for repo.changelog.findmissing() in test-git-interop.t
Augie Fackler <augie@google.com> [Mon, 18 May 2020 12:41:16 -0400] rev 44854
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
Mon, 18 May 2020 13:18:05 -0400 relnotes: add API change note per request in D8502
Augie Fackler <augie@google.com> [Mon, 18 May 2020 13:18:05 -0400] rev 44853
relnotes: add API change note per request in D8502 Differential Revision: https://phab.mercurial-scm.org/D8549
Tue, 26 May 2020 08:07:24 -0700 merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 26 May 2020 08:07:24 -0700] rev 44852
merge with stable
Sun, 17 May 2020 18:33:45 -0400 grep: grep the working copy faster
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
Sun, 17 May 2020 13:10:54 -0400 grep: stop computing information for --diff when unnecessary
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
Sun, 17 May 2020 12:52:43 -0400 grep: don't go in an infinite loop when given empty regex
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
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip