# HG changeset patch # User Pierre-Yves David # Date 1610581056 -3600 # Node ID 04da2ef8b1069fd665b4568c4a9ec30403cbd7a4 # Parent a18e256c4d3b99987d5631e18b7386b3385b8a38 persistent-nodemap: write down the sprint conclusion This write down the plan for turning feature that are only fast when the rust extension exists. Future changesets will implement it. Differential Revision: https://phab.mercurial-scm.org/D9754 diff -r a18e256c4d3b -r 04da2ef8b106 mercurial/configitems.py --- a/mercurial/configitems.py Thu Jan 14 00:33:40 2021 +0100 +++ b/mercurial/configitems.py Thu Jan 14 00:37:36 2021 +0100 @@ -1266,9 +1266,21 @@ b'usestore', default=True, ) -# Right now, the only efficient implement of the nodemap logic is in Rust, so -# the persistent nodemap feature needs to stay experimental as long as the Rust -# extensions are an experimental feature. +# Right now, the only efficient implement of the nodemap logic is in Rust, +# +# The case was discussed that the 5.6 sprint and the following was decided for +# feature that have an optional fast implementation (and are a performance +# regression in the others) +# +# * If the fast implementation is not available, Mercurial will refuse to +# access repository that requires it. Pointing to proper documentation +# +# * An option exist to lift that limitation and allow repository access. +# +# Such access will emit a warning unless configured not to. +# +# * When sufficiently mature, the feature can be enabled by default only for +# installation that supports it. coreconfigitem( b'format', b'use-persistent-nodemap', default=False, experimental=True )