Mercurial > evolve
changeset 2460:64cc0b059073 stable
obshashrange: document the experiment
This should help people jump in.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 21 May 2017 14:20:24 +0200 |
parents | 5e6fc802bc8a |
children | 3c9a74763c20 560175d6a83e |
files | README hgext3rd/evolve/__init__.py |
diffstat | 2 files changed, 27 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/README Sun May 21 13:55:09 2017 +0200 +++ b/README Sun May 21 14:20:24 2017 +0200 @@ -117,6 +117,7 @@ - prune: fix a crash related to color handling, - next: fix a crash related to color handling, + - discovery: document the 'obshashrange' experiment, - cache: reduce the warming load in case of reset, - cache: add a 'experimental.obshashcache.warm-cache' option to allow disabling post transaction cache warming.
--- a/hgext3rd/evolve/__init__.py Sun May 21 13:55:09 2017 +0200 +++ b/hgext3rd/evolve/__init__.py Sun May 21 14:20:24 2017 +0200 @@ -44,9 +44,34 @@ # * abort: abort the push auto-publish = ignore +Obsolescence Markers Discovery Experiment +========================================= + +We are experimenting with a new protocol to discover common markers during the +local and remote repository. This experiment is still at an early stage but is +already raising better result than the previous version when usable. + +Large" repositories (hundreds of thousand) are currently unsupported. Some key +algorithm has a naive implementation with too agressive caching, creating +memory consumption issue (this will get fixed). + +Medium sized repositories works fine, but be prepared for a noticable initial +cache filling. for the Mercurial repository, this is around 20 seconds + +The following config control the experiment:: + + [experimental] + + # enable new discovery protocol + # (needed on both client and server) + obshashrange = yes + + # avoid cache warming after transaction + # (recommended 'off' for developer repositories) + # (recommended 'yes' for server (default)) + obshashrange.warm-cache = no """ - evolutionhelptext = """ Obsolescence markers make it possible to mark changesets that have been deleted or superset in a new version of the changeset.