D9760: persistent-node: check the value of the slow-path config
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Thu Jan 14 04:06:38 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
We should probably provide some standard for this in config item, but this is a
quest for another adventure.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D9760
AFFECTED FILES
mercurial/localrepo.py
tests/test-persistent-nodemap.t
CHANGE DETAILS
diff --git a/tests/test-persistent-nodemap.t b/tests/test-persistent-nodemap.t
--- a/tests/test-persistent-nodemap.t
+++ b/tests/test-persistent-nodemap.t
@@ -110,6 +110,15 @@
$ echo foo > foo
$ hg add foo
+
+Check slow-path config value handling
+-------------------------------------
+
+ $ hg id --config "storage.revlog.persistent-nodemap.slow-path=invalid-value"
+ unknown value for config "storage.revlog.persistent-nodemap.slow-path": "invalid-value"
+ falling back to default value: allow
+ 6b02b8c7b966+ tip
+
#if no-pure no-rust
$ hg ci -m 'foo' --config "storage.revlog.nodemap.mode=strict"
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1044,6 +1044,21 @@
if ui.configbool(b'experimental', b'rust.index'):
options[b'rust.index'] = True
if requirementsmod.NODEMAP_REQUIREMENT in requirements:
+ slow_path = ui.config(
+ b'storage', b'revlog.persistent-nodemap.slow-path'
+ )
+ if slow_path not in (b'allow'):
+ default = ui.config_default(
+ b'storage', b'revlog.persistent-nodemap.slow-path'
+ )
+ msg = _(
+ b'unknown value for config '
+ b'"storage.revlog.persistent-nodemap.slow-path": "%s"\n'
+ )
+ ui.warn(msg % slow_path)
+ if not ui.quiet:
+ ui.warn(_(b'falling back to default value: %s\n') % default)
+ slow_path = default
options[b'persistent-nodemap'] = True
if ui.configbool(b'storage', b'revlog.persistent-nodemap.mmap'):
options[b'persistent-nodemap.mmap'] = True
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list