Fri, 22 May 2020 22:20:37 +0800 help: fix description of revlog version 2
Aay Jay Chan <aayjaychan@itopia.com.hk> [Fri, 22 May 2020 22:20:37 +0800] rev 44921
help: fix description of revlog version 2 Differential Revision: https://phab.mercurial-scm.org/D8576
Tue, 26 May 2020 08:15:09 -0400 files: speed up `hg files` when no flags change display
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Tue, 26 May 2020 08:15:09 -0400] rev 44920
files: speed up `hg files` when no flags change display It's not the first time I see slowness from this command slow down tools built on top of hg. The majority of the time is spent merely printing the result before this change, which is clearly not how it should be (especially since the computation of the result also looks slow). Running `hg files` in mozilla-central: parent revision: 1,260s this commit: 0,683s this commit without batching ui.write: 0,931s this commit replacing the body of the loop with `pass`: 0,566s This looks like a prime candidate for a rust fast path, but until then, it seems reasonable to optimize the python. Differential Revision: https://phab.mercurial-scm.org/D8586
Mon, 25 May 2020 22:47:12 -0400 sshpeer: make client print (likely) server errors on stderr (BC)
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Mon, 25 May 2020 22:47:12 -0400] rev 44919
sshpeer: make client print (likely) server errors on stderr (BC) so `hg clone -q` or `hg pull -q` don't print `abort: no suitable response from remote hg!` with no indication of what went wrong. There are other errors still silenced by -q (like failing to push due to a server hook), but the current change covers a good fraction of the problem (all errors setting up the ssh connection, no such remote repository, no access to the repository). Differential Revision: https://phab.mercurial-scm.org/D8584
Mon, 25 May 2020 20:02:15 -0400 sshpeer: add test showing that -q silences remote errors
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Mon, 25 May 2020 20:02:15 -0400] rev 44918
sshpeer: add test showing that -q silences remote errors Differential Revision: https://phab.mercurial-scm.org/D8583
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 44917
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 44916
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 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
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 44914
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 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
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 44912
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 44911
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 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
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 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
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 44908
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 -14 +14 +100 +300 +1000 +3000 tip