# HG changeset patch # User Pierre-Yves David # Date 2021-01-13 17:33:48 # Node ID 2c9c88879ab7fc21a53b7a2f1be5e84c2cdac732 # Parent 05a1e44b2224bee39fa4b9237ac43620c2b775b1 persistent-node: check the value of the slow-path config We should probably provide some standard for this in config item, but this is a quest for another adventure. Differential Revision: https://phab.mercurial-scm.org/D9760 diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1044,6 +1044,21 @@ def resolverevlogstorevfsoptions(ui, req 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 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 @@ add a new commit $ 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"