diff --git a/contrib/perf.py b/contrib/perf.py --- a/contrib/perf.py +++ b/contrib/perf.py @@ -241,6 +241,37 @@ try: configitem = mercurial.registrar.configitem(configtable) configitem(b'perf', b'presleep', default=mercurial.configitems.dynamicdefault, + experimental=True, + ) + configitem(b'perf', b'stub', + default=mercurial.configitems.dynamicdefault, + experimental=True, + ) + configitem(b'perf', b'parentscount', + default=mercurial.configitems.dynamicdefault, + experimental=True, + ) + configitem(b'perf', b'all-timing', + default=mercurial.configitems.dynamicdefault, + experimental=True, + ) + configitem(b'perf', b'pre-run', + default=mercurial.configitems.dynamicdefault, + ) + configitem(b'perf', b'profile-benchmark', + default=mercurial.configitems.dynamicdefault, + ) + configitem(b'perf', b'run-limits', + default=mercurial.configitems.dynamicdefault, + experimental=True, + ) +except (ImportError, AttributeError): + pass +except TypeError: + # compatibility fix for a11fd395e83f + # hg version: 5.2 + configitem(b'perf', b'presleep', + default=mercurial.configitems.dynamicdefault, ) configitem(b'perf', b'stub', default=mercurial.configitems.dynamicdefault, @@ -260,8 +291,6 @@ try: configitem(b'perf', b'run-limits', default=mercurial.configitems.dynamicdefault, ) -except (ImportError, AttributeError): - pass def getlen(ui): if ui.configbool(b"perf", b"stub", False): diff --git a/hgext/fsmonitor/__init__.py b/hgext/fsmonitor/__init__.py --- a/hgext/fsmonitor/__init__.py +++ b/hgext/fsmonitor/__init__.py @@ -167,6 +167,7 @@ configitem('fsmonitor', 'watchman_exe', ) configitem('fsmonitor', 'verbose', default=True, + experimental=True, ) configitem('experimental', 'fsmonitor.transaction_notify', default=False, diff --git a/hgext/remotefilelog/__init__.py b/hgext/remotefilelog/__init__.py --- a/hgext/remotefilelog/__init__.py +++ b/hgext/remotefilelog/__init__.py @@ -219,7 +219,7 @@ configitem('remotefilelog', 'excludepatt configitem('remotefilelog', 'gcrepack', default=False) configitem('remotefilelog', 'repackonhggc', default=False) -configitem('repack', 'chainorphansbysize', default=True) +configitem('repack', 'chainorphansbysize', default=True, experimental=True) configitem('packs', 'maxpacksize', default=0) configitem('packs', 'maxchainlen', default=1000) diff --git a/hgext/sqlitestore.py b/hgext/sqlitestore.py --- a/hgext/sqlitestore.py +++ b/hgext/sqlitestore.py @@ -90,7 +90,8 @@ configitem = registrar.configitem(config # experimental config: storage.sqlite.compression configitem('storage', 'sqlite.compression', - default='zstd' if zstd else 'zlib') + default='zstd' if zstd else 'zlib', + experimental=True) # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -39,13 +39,14 @@ class configitem(object): """ def __init__(self, section, name, default=None, alias=(), - generic=False, priority=0): + generic=False, priority=0, experimental=False): self.section = section self.name = name self.default = default self.alias = list(alias) self.generic = generic self.priority = priority + self.experimental = experimental self._re = None if generic: self._re = re.compile(self.name) @@ -166,6 +167,7 @@ coreconfigitem('bundle', 'mainreporoot', ) coreconfigitem('censor', 'policy', default='abort', + experimental=True, ) coreconfigitem('chgserver', 'idletimeout', default=3600, @@ -184,9 +186,11 @@ coreconfigitem('cmdserver', 'max-log-siz ) coreconfigitem('cmdserver', 'max-repo-cache', default=0, + experimental=True, ) coreconfigitem('cmdserver', 'message-encodings', default=list, + experimental=True, ) coreconfigitem('cmdserver', 'track-log', default=lambda: ['chgserver', 'cmdserver', 'repocache'], @@ -207,6 +211,7 @@ coreconfigitem('commands', 'commit.post- ) coreconfigitem('commands', 'grep.all-files', default=False, + experimental=True, ) coreconfigitem('commands', 'resolve.confirm', default=False, @@ -226,6 +231,7 @@ coreconfigitem('commands', 'status.relat ) coreconfigitem('commands', 'status.skipstates', default=[], + experimental=True, ) coreconfigitem('commands', 'status.terse', default='', @@ -314,6 +320,7 @@ coreconfigitem('convert', 'hg.usebranchn ) coreconfigitem('convert', 'ignoreancestorcheck', default=False, + experimental=True, ) coreconfigitem('convert', 'localtimezone', default=False, @@ -687,18 +694,22 @@ coreconfigitem('format', 'bookmarks-in-s ) coreconfigitem('format', 'chunkcachesize', default=None, + experimental=True, ) coreconfigitem('format', 'dotencode', default=True, ) coreconfigitem('format', 'generaldelta', default=False, + experimental=True, ) coreconfigitem('format', 'manifestcachesize', default=None, + experimental=True, ) coreconfigitem('format', 'maxchainlen', default=dynamicdefault, + experimental=True, ) coreconfigitem('format', 'obsstore-version', default=None, @@ -721,6 +732,7 @@ coreconfigitem('format', 'usestore', ) coreconfigitem('format', 'internal-phase', default=False, + experimental=True, ) coreconfigitem('fsmonitor', 'warn_when_unused', default=True, @@ -826,6 +838,7 @@ coreconfigitem('merge', 'on-failure', ) coreconfigitem('merge', 'preferancestor', default=lambda: ['*'], + experimental=True, ) coreconfigitem('merge', 'strict-capability-check', default=False, @@ -1010,6 +1023,7 @@ coreconfigitem('rewrite', 'update-timest ) coreconfigitem('storage', 'new-repo-backend', default='revlogv1', + experimental=True, ) coreconfigitem('storage', 'revlog.optimize-delta-parent-choice', default=True, @@ -1120,6 +1134,7 @@ coreconfigitem('smtp', 'username', ) coreconfigitem('sparse', 'missingwarning', default=True, + experimental=True, ) coreconfigitem('subrepos', 'allowed', default=dynamicdefault, # to make backporting simpler @@ -1466,6 +1481,7 @@ coreconfigitem('web', 'templates', ) coreconfigitem('web', 'view', default='served', + experimental=True, ) coreconfigitem('worker', 'backgroundclose', default=dynamicdefault,