From patchwork Thu Jan 14 04:04:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D9754: persistent-nodemap: write down the sprint conclusion From: phabricator X-Patchwork-Id: 48065 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Thu, 14 Jan 2021 04:04:59 +0000 marmoute created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY This write down the plan for turning feature that are only fast when the rust extension exists. Future changesets will implement it. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9754 AFFECTED FILES mercurial/configitems.py CHANGE DETAILS To: marmoute, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -1251,9 +1251,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 )