Thu, 21 Sep 2017 11:03:37 -0700 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com> [Thu, 21 Sep 2017 11:03:37 -0700] rev 34299
blackbox: do not prevent 'chg init' from working Previously, blackbox always appends to blackbox.log and creates the directory for that file on demand. That could be an issue if: 1. chg starts from `$REPO` directory, so `ui._bbrepo` is set. 2. `rm -rf $REPO`. 3. `chg init $REPO`, blackbox writes something and `init` will fail because `$REPO` directory is non-empty. This patch fixes that by verifying whether vfs exists before re-using it. Differential Revision: https://phab.mercurial-scm.org/D768
Mon, 11 Sep 2017 20:07:41 -0400 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com> [Mon, 11 Sep 2017 20:07:41 -0400] rev 34298
tests: add a test for blackbox with nested alias configurations I've observed some weirdness around this, and needed to rule some things out. There aren't any bugs in core around this, but it was nice to have confirmation.
Mon, 11 Sep 2017 20:06:52 -0400 tests: clean up blackbox test around aliases a little bit
Augie Fackler <augie@google.com> [Mon, 11 Sep 2017 20:06:52 -0400] rev 34297
tests: clean up blackbox test around aliases a little bit
Wed, 13 Sep 2017 17:26:26 +0000 revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com> [Wed, 13 Sep 2017 17:26:26 +0000] rev 34296
revlog: add option to mmap revlog index Following on from Jun Wu's patch last October[1], we have found that using mmap for the revlog index in repos with large revlogs gives a noticable performance improvment (~110ms on each hg invocation), particularly for commands that don't touch the index very much. This changeset adds this as an option, activated by a new experimental config option so that it can be enabled on a per-repo basis. The configuration option specifies an index size threshold at which Mercurial will switch to using mmap to access the index. If the configuration option is not specified, the default remains to load the full file, which seems to be the best option for smaller repos. Some initial performance numbers for average of 5 invocations of `hg log -l 5` for different cache states: | Repo: | HG | FB | |---|---|---| | Index size: | 2.3MB | much bigger | | read (warm): | 237ms | 432ms | | mmap (warm): | 227ms | 321ms | | | (-3%) | (-26%) | | read (cold): | 397ms | 696ms | | mmap (cold): | 410ms | 888ms | | | (+3%) | (+28%) | [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-October/088737.html Test Plan: `hg log --config experimental.mmapindex=true` Differential Revision: https://phab.mercurial-scm.org/D477
Thu, 21 Sep 2017 05:54:34 -0700 util: add an mmapread method
Mark Thomas <mbthomas@fb.com> [Thu, 21 Sep 2017 05:54:34 -0700] rev 34295
util: add an mmapread method This is useful for large files that are only partly touched. Test Plan: Will be used and tested in a later patch. Differential Revision: https://phab.mercurial-scm.org/D476
Wed, 20 Sep 2017 09:35:45 -0700 changegroup: remove dictionary creation from deltachunk
Durham Goode <durham@fb.com> [Wed, 20 Sep 2017 09:35:45 -0700] rev 34294
changegroup: remove dictionary creation from deltachunk Previously delta chunk returned a dictionary. Now that we consume deltachunk within changegroup (instead of outside in revlog) we can just return a tuple and have it be returned directly by deltaiter. Differential Revision: https://phab.mercurial-scm.org/D746
Wed, 20 Sep 2017 09:39:03 -0700 bundlerepo: update to use new deltaiter api
Durham Goode <durham@fb.com> [Wed, 20 Sep 2017 09:39:03 -0700] rev 34293
bundlerepo: update to use new deltaiter api Differential Revision: https://phab.mercurial-scm.org/D745
Wed, 20 Sep 2017 09:28:30 -0700 debug: update debugbundle to use new deltaiter api
Durham Goode <durham@fb.com> [Wed, 20 Sep 2017 09:28:30 -0700] rev 34292
debug: update debugbundle to use new deltaiter api Changegroup now has a deltaiter api for easy iteration over a series of deltas. Let's use that in the debugbundle command. Differential Revision: https://phab.mercurial-scm.org/D744
Wed, 20 Sep 2017 09:22:22 -0700 revlog: add revmap back to revlog.addgroup
Durham Goode <durham@fb.com> [Wed, 20 Sep 2017 09:22:22 -0700] rev 34291
revlog: add revmap back to revlog.addgroup The recent c8b6ed51386b patch removed the linkmapper argument from addgroup, as part of trying to make addgroup more agnostic from the changegroup format. It turns out that the changegroup can't resolve linkrevs while iterating over the deltas, because applying the deltas might affect the linkrev resolution. For example, when applying a series of changelog entries, the linkmapper just returns len(cl). If we're iterating over the deltas without applying them to the changelog, this results in incorrect linkrevs. This was caught by the hgsql extension, which reads the revisions before applying them. The fix is to return linknodes as part of the delta iterator, and let the consumer choose what to do. Differential Revision: https://phab.mercurial-scm.org/D730
Tue, 19 Sep 2017 22:06:26 -0700 rebase: also include other namespaces in changeset description
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Sep 2017 22:06:26 -0700] rev 34290
rebase: also include other namespaces in changeset description This makes use of the generic method of listing bookmarks and tags, so other extensions that add other namespaces will get their names added too. This does mean that bookmarks will come before tags, just like we apparently decided to order them in the "hg log" output. It doesn't seem like people would be parsing the rebase output anyway. We also did 79ab5369d55a (rebase: use _ctxdesc in one more place, 2017-08-29) recently, so now seems like a good time. Differential Revision: https://phab.mercurial-scm.org/D741
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip