Tue, 17 Oct 2017 08:11:13 -0700 context: audit paths before clearing unknown files and dirs
Mark Thomas <mbthomas@fb.com> [Tue, 17 Oct 2017 08:11:13 -0700] rev 34833
context: audit paths before clearing unknown files and dirs Fix regression introduced in D785. In some circumstances, context.clearunknown can be called before the path is audited. Audit the path before deleting any conflicting files. Differential Revision: https://phab.mercurial-scm.org/D1157
Tue, 17 Oct 2017 08:07:43 -0700 tests: add test demonstrating regression in path audit
Mark Thomas <mbthomas@fb.com> [Tue, 17 Oct 2017 08:07:43 -0700] rev 34832
tests: add test demonstrating regression in path audit D785 regressed behavior in path auditing: files can be deleted if they have a path that conflicts with a filename from a malicious remote or bundle. This test demonstrates the problem - the file should not have been deleted. Differential Revision: https://phab.mercurial-scm.org/D1156
Fri, 13 Oct 2017 23:00:31 +0200 configitems: move rebase config into core
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 23:00:31 +0200] rev 34831
configitems: move rebase config into core The shelve extensions import and call rebase content without loading the extension. This is problematic as the config items rebase uses are not declared and the default value are not set, etc... The shelve extension should be using core utilities only and the necessary bit should be moved from rebase into core. In the meantime, I'm taking a small step to get config registration completed with minimal overhead. The rebase extension is shipped with core so registering its config option within core is not a big issue. This is the last step needed before we can install a warning that enforces all config to be registered.
Sat, 14 Oct 2017 01:09:46 +0200 eol: ensure the eol extensions is loaded when hooks run
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 01:09:46 +0200] rev 34830
eol: ensure the eol extensions is loaded when hooks run Similar to the change we did to the 'acl' extensions, we want to make sure the config items are registered before we run the hooks.
Sat, 14 Oct 2017 01:16:03 +0200 acl: make sure the extensions is enabled when the acl-hooks run
Boris Feld <boris.feld@octobus.net> [Sat, 14 Oct 2017 01:16:03 +0200] rev 34829
acl: make sure the extensions is enabled when the acl-hooks run The acl extension is usually setup through hooks and never directly activated. This means the config item declared in the extension are not loaded. We add the necessary logic to make sure the extensions are loaded before the hook run.
Mon, 16 Oct 2017 18:16:29 +0200 configitems: register the 'web.archivesubrepos' config
Boris Feld <boris.feld@octobus.net> [Mon, 16 Oct 2017 18:16:29 +0200] rev 34828
configitems: register the 'web.archivesubrepos' config
Sun, 08 Oct 2017 22:22:27 +0200 configitems: register the 'experimental.effect-flags' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 22:22:27 +0200] rev 34827
configitems: register the 'experimental.effect-flags' config
Sun, 08 Oct 2017 20:37:13 +0200 configitems: register the full 'merge-tools' config and sub-options
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:37:13 +0200] rev 34826
configitems: register the full 'merge-tools' config and sub-options We register the merge-tools config section (which has an arbitrary base config value) and the possible sub-attribute. The sub-attribute has to be registered first or at the same time otherwise the '.*' item would shadow them. Merge tools could include "." in their name so we can't constrain any more than just ".*".
Sat, 14 Oct 2017 17:05:41 +0200 revlog-sparse-read: add a lower-threshold for read block size
Paul Morelle <paul.morelle@octobus.net> [Sat, 14 Oct 2017 17:05:41 +0200] rev 34825
revlog-sparse-read: add a lower-threshold for read block size The option experimental.sparse-read.min-block-size specifies the minimal size of a deltachain span, under which it won't be split by _slicechunk.
Tue, 10 Oct 2017 17:50:27 +0200 revlog: introduce an experimental flag to slice chunks reads when too sparse
Paul Morelle <paul.morelle@octobus.net> [Tue, 10 Oct 2017 17:50:27 +0200] rev 34824
revlog: introduce an experimental flag to slice chunks reads when too sparse Delta chains can become quite sparse if there is a lot of unrelated data between relevant pieces. Right now, revlog always reads all the necessary data for the delta chain in one single read. This can lead to a lot of unrelated data to be read (see issue5482 for more details). One can use the `experimental.maxdeltachainspan` option with a large value (or -1) to easily produce a very sparse delta chain. This change introduces the ability to slice the chunks retrieval into multiple reads, skipping large sections of unrelated data. Preliminary testing shows interesting results. For example the peak memory consumption to read a manifest on a large repository is reduced from 600MB to 250MB (200MB without maxdeltachainspan). However, the slicing itself and the multiple reads can have an negative impact on performance. This is why the new feature is hidden behind an experimental flag. Future changesets will add various parameters to control the slicing heuristics. We hope to experiment a wide variety of repositories during 4.4 and hopefully turn the feature on by default in 4.5. As a first try, the algorithm itself is prone to deep changes. However, we wish to define APIs and have a baseline to work on.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip