diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1771,7 +1771,8 @@ unknown=True, subrepos=opts.get('subrepos')) @command('config|showconfig|debugconfig', - [('u', 'untrusted', None, _('show untrusted configuration options')), + [('r', 'registered', None, _('show all registered configuration options')), + ('u', 'untrusted', None, _('show untrusted configuration options')), ('e', 'edit', None, _('edit user config')), ('l', 'local', None, _('edit repository config')), ('g', 'global', None, _('edit global config'))] + formatteropts, @@ -1869,7 +1870,10 @@ selentries = set(selentries) matched = False - for section, name, value in ui.walkconfig(untrusted=untrusted): + walkconfig = ui.walkconfig(untrusted=untrusted) + if opts.get('registered'): + walkconfig = ui.walkregisteredconfig(untrusted=untrusted) + for section, name, value in walkconfig: source = ui.configsource(section, name, untrusted) value = pycompat.bytestr(value) defaultvalue = ui.configdefault(section, name) @@ -1881,12 +1885,12 @@ continue fm.startitem() fm.condwrite(ui.debugflag, 'source', '%s: ', source) + fm.data(defaultvalue=defaultvalue) if uniquesel: fm.data(name=entryname) fm.write('value', '%s\n', value) else: fm.write('name value', '%s=%s\n', entryname, value) - fm.data(defaultvalue=defaultvalue) matched = True fm.end() if matched: diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -818,6 +818,23 @@ for name, value in self.configitems(section, untrusted): yield section, name, value + def walkregisteredconfig(self, untrusted=False): + """walk through all known config options in the registrar""" + for section, data in sorted(self._knownconfig.iteritems()): + for name, item in sorted(data.iteritems()): + if (item.default is configitems.dynamicdefault or + item.generic): + continue + # Always omit generic config items and those + # with dynamicdefault values. + if ((section in ['debug', 'devel', 'experimental'] or + item.experimental) and not self.verbose): + # Omit devel, debug and experimental config items unless + # --verbose is specified. + continue + value = self._config(section, name, untrusted=untrusted) + yield section, name, value + def plain(self, feature=None): '''is plain mode active? diff --git a/tests/test-basic.t b/tests/test-basic.t --- a/tests/test-basic.t +++ b/tests/test-basic.t @@ -13,7 +13,7 @@ ui.mergemarkers=detailed ui.promptecho=True web.address=localhost - web\.ipv6=(?:True|False) (re) + web.ipv6=False web.server-header=testing stub value #endif diff --git a/tests/test-commandserver.t b/tests/test-commandserver.t --- a/tests/test-commandserver.t +++ b/tests/test-commandserver.t @@ -216,7 +216,7 @@ ui.foo=bar ui.nontty=true web.address=localhost - web\.ipv6=(?:True|False) (re) + web.ipv6=False web.server-header=testing stub value *** runcommand init foo *** runcommand -R foo showconfig ui defaults diff --git a/tests/test-completion.t b/tests/test-completion.t --- a/tests/test-completion.t +++ b/tests/test-completion.t @@ -252,7 +252,7 @@ cat: output, rev, decode, include, exclude, template clone: noupdate, updaterev, rev, branch, pull, uncompressed, stream, ssh, remotecmd, insecure commit: addremove, close-branch, amend, secret, edit, force-close-branch, interactive, include, exclude, message, logfile, date, user, subrepos - config: untrusted, edit, local, global, template + config: registered, untrusted, edit, local, global, template continue: dry-run copy: after, force, include, exclude, dry-run debugancestor: diff --git a/tests/test-config.t b/tests/test-config.t --- a/tests/test-config.t +++ b/tests/test-config.t @@ -224,3 +224,751 @@ > done $ HGRCPATH=configs hg config section.key 99 + +test --registered flag + + $ hg showconfig --registered + annotate.git=False + annotate.ignoreblanklines=False + annotate.ignorews=False + annotate.ignorewsamount=False + annotate.ignorewseol=False + annotate.nobinary=False + annotate.nodates=False + annotate.noprefix=False + annotate.showfunc=False + annotate.unified=None + annotate.word-diff=False + auth.cookiefile=None + bookmarks.pushing=[] + bundle.mainreporoot=$TESTTMP + chgserver.idletimeout=3600 + chgserver.skiphash=False + cmdserver.log=None + cmdserver.max-log-files=7 + cmdserver.max-log-size=1 MB + cmdserver.track-log=[b'chgserver', b'cmdserver', b'repocache'] + color.mode=auto + commands.commit.interactive.git=False + commands.commit.interactive.ignoreblanklines=False + commands.commit.interactive.ignorews=False + commands.commit.interactive.ignorewsamount=False + commands.commit.interactive.ignorewseol=False + commands.commit.interactive.nobinary=False + commands.commit.interactive.nodates=False + commands.commit.interactive.noprefix=False + commands.commit.interactive.showfunc=False + commands.commit.interactive.unified=None + commands.commit.interactive.word-diff=False + commands.commit.post-status=False + commands.rebase.requiredest=False + commands.resolve.confirm=False + commands.resolve.explicit-re-merge=False + commands.resolve.mark-check=none + commands.revert.interactive.git=False + commands.revert.interactive.ignoreblanklines=False + commands.revert.interactive.ignorews=False + commands.revert.interactive.ignorewsamount=False + commands.revert.interactive.ignorewseol=False + commands.revert.interactive.nobinary=False + commands.revert.interactive.nodates=False + commands.revert.interactive.noprefix=False + commands.revert.interactive.showfunc=False + commands.revert.interactive.unified=None + commands.revert.interactive.word-diff=False + commands.show.aliasprefix=[] + commands.status.relative=False + commands.status.terse= + commands.status.verbose=False + commands.update.check=None + commands.update.requiredest=False + convert.bzr.saverev=True + convert.cvsps.cache=True + convert.cvsps.fuzz=60 + convert.cvsps.logencoding=None + convert.cvsps.mergefrom=None + convert.cvsps.mergeto=None + convert.git.committeractions=[b'messagedifferent'] + convert.git.extrakeys=[] + convert.git.findcopiesharder=False + convert.git.remoteprefix=remote + convert.git.renamelimit=400 + convert.git.saverev=True + convert.git.similarity=50 + convert.git.skipsubmodules=False + convert.hg.clonebranches=False + convert.hg.ignoreerrors=False + convert.hg.preserve-hash=False + convert.hg.revs=None + convert.hg.saverev=False + convert.hg.sourcename=None + convert.hg.startrev=None + convert.hg.tagsbranch=default + convert.hg.usebranchnames=True + convert.localtimezone=False + convert.p4.startrev=0 + convert.skiptags=False + convert.svn.branches=None + convert.svn.debugsvnlog=True + convert.svn.startrev=0 + convert.svn.tags=None + convert.svn.trunk=None + diff.git=False + diff.ignoreblanklines=False + diff.ignorews=False + diff.ignorewsamount=False + diff.ignorewseol=False + diff.nobinary=False + diff.nodates=False + diff.noprefix=False + diff.showfunc=False + diff.unified=None + diff.word-diff=False + email.bcc=None + email.cc=None + email.charsets=[] + email.from=None + email.method=smtp + email.reply-to=None + email.to=None + format.bookmarks-in-store=False + format.dotencode=True + format.obsstore-version=None + format.revlog-compression=$BUNDLE2_COMPRESSIONS$ + format.sparse-revlog=True + format.usefncache=True + format.usegeneraldelta=True + format.usestore=True + fsmonitor.warn_update_file_count=50000 + fsmonitor.warn_when_unused=True + hostsecurity.ciphers=None + hostsecurity.disabletls10warning=False + http.timeout=None + http_proxy.always=False + http_proxy.host=None + http_proxy.no=[] + http_proxy.passwd=None + http_proxy.user=None + logtoprocess.command=None + logtoprocess.commandexception=None + logtoprocess.commandfinish=None + logtoprocess.develwarn=None + logtoprocess.uiblocked=None + merge.checkignored=abort + merge.checkunknown=abort + merge.followcopies=True + merge.on-failure=continue + merge.strict-capability-check=False + pager.ignore=[] + patch.eol=strict + patch.fuzz=2 + paths.default=None + paths.default-push=None + phases.checksubrepos=follow + phases.new-commit=draft + phases.publish=True + profiling.enabled=False + profiling.format=text + profiling.freq=1000 + profiling.limit=30 + profiling.nested=0 + profiling.output=None + profiling.showmax=0.999 + profiling.showtime=True + profiling.sort=inlinetime + profiling.statformat=hotpath + profiling.type=stat + progress.assume-tty=False + progress.changedelay=1 + progress.clear-complete=True + progress.debug=False + progress.delay=3 + progress.disable=False + progress.estimateinterval=60.0 + progress.format=[b'topic', b'bar', b'number', b'estimate'] + progress.refresh=0.1 + push.pushvars.server=False + rebase.experimental.inmemory=False + rebase.singletransaction=False + rewrite.backup-bundle=True + rewrite.update-timestamp=False + server.bookmarks-pushkey-compat=True + server.bundle1=True + server.bundle1.pull=None + server.bundle1.push=None + server.bundle1gd=None + server.bundle1gd.pull=None + server.bundle1gd.push=None + server.bundle2.stream=True + server.compressionengines=[] + server.concurrent-push-mode=strict + server.disablefullbundle=False + server.maxhttpheaderlen=1024 + server.preferuncompressed=False + server.pullbundle=False + server.streamunbundle=False + server.uncompressed=True + server.uncompressedallowsecret=False + server.validate=False + server.view=served + server.zliblevel=-1 + server.zstdlevel=3 + share.pool=None + share.poolnaming=identity + shelve.maxbackups=10 + smtp.host=None + smtp.local_hostname=None + smtp.password=None + smtp.tls=none + smtp.username=None + storage.revlog.optimize-delta-parent-choice=True + storage.revlog.reuse-external-delta=True + storage.revlog.reuse-external-delta-parent=None + storage.revlog.zlib.level=None + storage.revlog.zstd.level=None + trusted.groups=[] + trusted.users=[] + ui._usedassubrepo=False + ui.allowemptycommit=False + ui.archivemeta=True + ui.askusername=False + ui.clonebundlefallback=False + ui.clonebundleprefers=[] + ui.clonebundles=True + ui.color=auto + ui.commitsubrepos=False + ui.debug=False + ui.debugger=None + ui.fallbackencoding=None + ui.forcecwd=None + ui.forcemerge=None + ui.formatdebug=False + ui.formatjson=False + ui.formatted=None + ui.graphnodetemplate=None + ui.interactive=False + ui.interface=None + ui.interface.chunkselector=None + ui.large-file-limit=10000000 + ui.logblockedtimes=False + ui.logtemplate=None + ui.merge=internal:merge + ui.mergemarkers=detailed + ui.mergemarkertemplate={node|short} {ifeq(tags, "tip", "", ifeq(tags, "", "", "{tags} "))}{if(bookmarks, "{bookmarks} ")}{ifeq(branch, "default", "", "{branch} ")}- {author|user}: {desc|firstline} + ui.message-output=stdio + ui.nontty=False + ui.origbackuppath=None + ui.paginate=True + ui.patch=None + ui.portablefilenames=warn + ui.pre-merge-tool-output-template=None + ui.promptecho=True + ui.quiet=False + ui.quietbookmarkmove=False + ui.relative-paths=legacy + ui.remotecmd=hg + ui.report_untrusted=True + ui.rollback=True + ui.signal-safe-lock=True + ui.slash=True + ui.ssh=ssh + ui.ssherrorhint=None + ui.statuscopies=False + ui.strict=False + ui.style= + ui.supportcontact=None + ui.textwidth=78 + ui.timeout=600 + ui.timeout.warn=0 + ui.traceback=False + ui.tweakdefaults=False + ui.username=None + ui.verbose=False + verify.skipflags=None + web.accesslog=- + web.address=localhost + web.allow-archive=[] + web.allow-pull=True + web.allow-push=[] + web.allow_read=[] + web.allowbz2=False + web.allowgz=False + web.allowzip=False + web.archivesubrepos=False + web.baseurl=None + web.cacerts=None + web.cache=True + web.certificate=None + web.collapse=False + web.comparisoncontext=5 + web.contact=None + web.csp=None + web.deny_push=[] + web.deny_read=[] + web.descend=True + web.description= + web.encoding=ascii + web.errorlog=- + web.guessmime=False + web.hidden=False + web.ipv6=False + web.labels=[] + web.logoimg=hglogo.png + web.logourl=https://mercurial-scm.org/ + web.maxchanges=10 + web.maxfiles=10 + web.maxshortchanges=60 + web.motd= + web.port=8000 + web.prefix= + web.push_ssl=True + web.refreshinterval=20 + web.server-header=testing stub value + web.static=None + web.staticurl=None + web.stripes=1 + web.style=paper + web.templates=None + worker.backgroundclosemaxqueue=384 + worker.backgroundcloseminfilecount=2048 + worker.backgroundclosethreadcount=4 + worker.enabled=True + worker.numcpus=None + + $ hg showconfig --registered --verbose + annotate.git=False + annotate.ignoreblanklines=False + annotate.ignorews=False + annotate.ignorewsamount=False + annotate.ignorewseol=False + annotate.nobinary=False + annotate.nodates=False + annotate.noprefix=False + annotate.showfunc=False + annotate.unified=None + annotate.word-diff=False + auth.cookiefile=None + bookmarks.pushing=[] + bundle.mainreporoot=$TESTTMP + censor.policy=abort + chgserver.idletimeout=3600 + chgserver.skiphash=False + cmdserver.log=None + cmdserver.max-log-files=7 + cmdserver.max-log-size=1 MB + cmdserver.max-repo-cache=0 + cmdserver.message-encodings=[] + cmdserver.track-log=[b'chgserver', b'cmdserver', b'repocache'] + color.mode=auto + commands.commit.interactive.git=False + commands.commit.interactive.ignoreblanklines=False + commands.commit.interactive.ignorews=False + commands.commit.interactive.ignorewsamount=False + commands.commit.interactive.ignorewseol=False + commands.commit.interactive.nobinary=False + commands.commit.interactive.nodates=False + commands.commit.interactive.noprefix=False + commands.commit.interactive.showfunc=False + commands.commit.interactive.unified=None + commands.commit.interactive.word-diff=False + commands.commit.post-status=False + commands.grep.all-files=False + commands.rebase.requiredest=False + commands.resolve.confirm=False + commands.resolve.explicit-re-merge=False + commands.resolve.mark-check=none + commands.revert.interactive.git=False + commands.revert.interactive.ignoreblanklines=False + commands.revert.interactive.ignorews=False + commands.revert.interactive.ignorewsamount=False + commands.revert.interactive.ignorewseol=False + commands.revert.interactive.nobinary=False + commands.revert.interactive.nodates=False + commands.revert.interactive.noprefix=False + commands.revert.interactive.showfunc=False + commands.revert.interactive.unified=None + commands.revert.interactive.word-diff=False + commands.show.aliasprefix=[] + commands.status.relative=False + commands.status.skipstates=[] + commands.status.terse= + commands.status.verbose=False + commands.update.check=None + commands.update.requiredest=False + convert.bzr.saverev=True + convert.cvsps.cache=True + convert.cvsps.fuzz=60 + convert.cvsps.logencoding=None + convert.cvsps.mergefrom=None + convert.cvsps.mergeto=None + convert.git.committeractions=[b'messagedifferent'] + convert.git.extrakeys=[] + convert.git.findcopiesharder=False + convert.git.remoteprefix=remote + convert.git.renamelimit=400 + convert.git.saverev=True + convert.git.similarity=50 + convert.git.skipsubmodules=False + convert.hg.clonebranches=False + convert.hg.ignoreerrors=False + convert.hg.preserve-hash=False + convert.hg.revs=None + convert.hg.saverev=False + convert.hg.sourcename=None + convert.hg.startrev=None + convert.hg.tagsbranch=default + convert.hg.usebranchnames=True + convert.ignoreancestorcheck=False + convert.localtimezone=False + convert.p4.startrev=0 + convert.skiptags=False + convert.svn.branches=None + convert.svn.debugsvnlog=True + convert.svn.startrev=0 + convert.svn.tags=None + convert.svn.trunk=None + debug.dirstate.delaywrite=0 + devel.all-warnings=true + devel.bundle.delta= + devel.bundle2.debug=False + devel.cache-vfs=None + devel.check-locks=False + devel.check-relroot=False + devel.debug.copies=False + devel.debug.extensions=False + devel.debug.peer-request=False + devel.default-date=0 0 + devel.deprec-warn=False + devel.disableloaddefaultcerts=False + devel.discovery.randomize=True + devel.legacy.exchange=[] + devel.servercafile= + devel.serverexactprotocol= + devel.serverrequirecert=False + devel.strip-obsmarkers=True + devel.user.obsmarker=None + devel.warn-config=None + devel.warn-config-default=None + devel.warn-config-unknown=None + devel.warn-empty-changegroup=False + diff.git=False + diff.ignoreblanklines=False + diff.ignorews=False + diff.ignorewsamount=False + diff.ignorewseol=False + diff.nobinary=False + diff.nodates=False + diff.noprefix=False + diff.showfunc=False + diff.unified=None + diff.word-diff=False + email.bcc=None + email.cc=None + email.charsets=[] + email.from=None + email.method=smtp + email.reply-to=None + email.to=None + experimental.auto-publish=publish + experimental.bundle-phases=False + experimental.bundle2-advertise=True + experimental.bundle2-output-capture=False + experimental.bundle2.pushback=False + experimental.bundle2lazylocking=False + experimental.bundlecomplevel=None + experimental.bundlecomplevel.bzip2=None + experimental.bundlecomplevel.gzip=None + experimental.bundlecomplevel.none=None + experimental.bundlecomplevel.zstd=None + experimental.changegroup3=False + experimental.cleanup-as-archived=False + experimental.clientcompressionengines=[] + experimental.copies.read-from=filelog-only + experimental.copies.write-to=filelog-only + experimental.copytrace=on + experimental.copytrace.movecandidateslimit=100 + experimental.copytrace.sourcecommitlimit=100 + experimental.crecordtest=None + experimental.directaccess=False + experimental.directaccess.revnums=False + experimental.editortmpinhg=False + experimental.evolution=[] + experimental.evolution.allowdivergence=False + experimental.evolution.allowunstable=None + experimental.evolution.bundle-obsmarker=False + experimental.evolution.createmarkers=None + experimental.evolution.effect-flags=True + experimental.evolution.exchange=None + experimental.evolution.report-instabilities=True + experimental.evolution.track-operation=True + experimental.exportableenviron=[] + experimental.extendedheader.index=None + experimental.extendedheader.similarity=False + experimental.extra-filter-revs=None + experimental.graphshorten=False + experimental.hook-track-tags=False + experimental.httppeer.advertise-v2=False + experimental.httppeer.v2-encoder-order=None + experimental.httppostargs=False + experimental.log.topo=False + experimental.maxdeltachainspan=-1 + experimental.merge.checkpathconflicts=False + experimental.mergedriver=None + experimental.mergetempdirprefix=None + experimental.mmapindexthreshold=None + experimental.narrow=False + experimental.nointerrupt=False + experimental.nointerrupt-interactiveonly=True + experimental.nonnormalparanoidcheck=False + experimental.obsmarkers-exchange-debug=False + experimental.rebaseskipobsolete=True + experimental.remotenames=False + experimental.removeemptydirs=True + experimental.revert.interactive.select-to-keep=False + experimental.revisions.disambiguatewithin=None + experimental.revisions.prefixhexnode=False + experimental.revlogv2=None + experimental.server.filesdata.recommended-batch-size=50000 + experimental.server.manifestdata.recommended-batch-size=100000 + experimental.server.stream-narrow-clones=False + experimental.single-head-per-branch=False + experimental.sparse-read=False + experimental.sparse-read.density-threshold=0.5 + experimental.sparse-read.min-gap-size=65K + experimental.sshpeer.advertise-v2=False + experimental.sshserver.support-v2=False + experimental.treemanifest=False + experimental.update.atomic-file=False + experimental.web.api.debugreflect=False + experimental.web.api.http-v2=False + experimental.web.apiserver=False + experimental.worker.wdir-get-thread-safe=False + experimental.xdiff=False + format.bookmarks-in-store=False + format.chunkcachesize=None + format.dotencode=True + format.generaldelta=False + format.internal-phase=False + format.manifestcachesize=None + format.obsstore-version=None + format.revlog-compression=$BUNDLE2_COMPRESSIONS$ + format.sparse-revlog=True + format.usefncache=True + format.usegeneraldelta=True + format.usestore=True + fsmonitor.warn_update_file_count=50000 + fsmonitor.warn_when_unused=True + hostsecurity.ciphers=None + hostsecurity.disabletls10warning=False + http.timeout=None + http_proxy.always=False + http_proxy.host=None + http_proxy.no=[] + http_proxy.passwd=None + http_proxy.user=None + logtoprocess.command=None + logtoprocess.commandexception=None + logtoprocess.commandfinish=None + logtoprocess.develwarn=None + logtoprocess.uiblocked=None + merge.checkignored=abort + merge.checkunknown=abort + merge.followcopies=True + merge.on-failure=continue + merge.preferancestor=[b'*'] + merge.strict-capability-check=False + pager.ignore=[] + patch.eol=strict + patch.fuzz=2 + paths.default=None + paths.default-push=None + phases.checksubrepos=follow + phases.new-commit=draft + phases.publish=True + profiling.enabled=False + profiling.format=text + profiling.freq=1000 + profiling.limit=30 + profiling.nested=0 + profiling.output=None + profiling.showmax=0.999 + profiling.showtime=True + profiling.sort=inlinetime + profiling.statformat=hotpath + profiling.type=stat + progress.assume-tty=False + progress.changedelay=1 + progress.clear-complete=True + progress.debug=False + progress.delay=3 + progress.disable=False + progress.estimateinterval=60.0 + progress.format=[b'topic', b'bar', b'number', b'estimate'] + progress.refresh=0.1 + push.pushvars.server=False + rebase.experimental.inmemory=False + rebase.singletransaction=False + rewrite.backup-bundle=True + rewrite.update-timestamp=False + server.bookmarks-pushkey-compat=True + server.bundle1=True + server.bundle1.pull=None + server.bundle1.push=None + server.bundle1gd=None + server.bundle1gd.pull=None + server.bundle1gd.push=None + server.bundle2.stream=True + server.compressionengines=[] + server.concurrent-push-mode=strict + server.disablefullbundle=False + server.maxhttpheaderlen=1024 + server.preferuncompressed=False + server.pullbundle=False + server.streamunbundle=False + server.uncompressed=True + server.uncompressedallowsecret=False + server.validate=False + server.view=served + server.zliblevel=-1 + server.zstdlevel=3 + share.pool=None + share.poolnaming=identity + shelve.maxbackups=10 + smtp.host=None + smtp.local_hostname=None + smtp.password=None + smtp.tls=none + smtp.username=None + sparse.missingwarning=True + storage.new-repo-backend=revlogv1 + storage.revlog.optimize-delta-parent-choice=True + storage.revlog.reuse-external-delta=True + storage.revlog.reuse-external-delta-parent=None + storage.revlog.zlib.level=None + storage.revlog.zstd.level=None + trusted.groups=[] + trusted.users=[] + ui._usedassubrepo=False + ui.allowemptycommit=False + ui.archivemeta=True + ui.askusername=False + ui.clonebundlefallback=False + ui.clonebundleprefers=[] + ui.clonebundles=True + ui.color=auto + ui.commitsubrepos=False + ui.debug=False + ui.debugger=None + ui.fallbackencoding=None + ui.forcecwd=None + ui.forcemerge=None + ui.formatdebug=False + ui.formatjson=False + ui.formatted=None + ui.graphnodetemplate=None + ui.interactive=False + ui.interface=None + ui.interface.chunkselector=None + ui.large-file-limit=10000000 + ui.logblockedtimes=False + ui.logtemplate=None + ui.merge=internal:merge + ui.mergemarkers=detailed + ui.mergemarkertemplate={node|short} {ifeq(tags, "tip", "", ifeq(tags, "", "", "{tags} "))}{if(bookmarks, "{bookmarks} ")}{ifeq(branch, "default", "", "{branch} ")}- {author|user}: {desc|firstline} + ui.message-output=stdio + ui.nontty=False + ui.origbackuppath=None + ui.paginate=True + ui.patch=None + ui.portablefilenames=warn + ui.pre-merge-tool-output-template=None + ui.promptecho=True + ui.quiet=False + ui.quietbookmarkmove=False + ui.relative-paths=legacy + ui.remotecmd=hg + ui.report_untrusted=True + ui.rollback=True + ui.signal-safe-lock=True + ui.slash=True + ui.ssh=ssh + ui.ssherrorhint=None + ui.statuscopies=False + ui.strict=False + ui.style= + ui.supportcontact=None + ui.textwidth=78 + ui.timeout=600 + ui.timeout.warn=0 + ui.traceback=False + ui.tweakdefaults=False + ui.username=None + ui.verbose=True + verify.skipflags=None + web.accesslog=- + web.address=localhost + web.allow-archive=[] + web.allow-pull=True + web.allow-push=[] + web.allow_read=[] + web.allowbz2=False + web.allowgz=False + web.allowzip=False + web.archivesubrepos=False + web.baseurl=None + web.cacerts=None + web.cache=True + web.certificate=None + web.collapse=False + web.comparisoncontext=5 + web.contact=None + web.csp=None + web.deny_push=[] + web.deny_read=[] + web.descend=True + web.description= + web.encoding=ascii + web.errorlog=- + web.guessmime=False + web.hidden=False + web.ipv6=False + web.labels=[] + web.logoimg=hglogo.png + web.logourl=https://mercurial-scm.org/ + web.maxchanges=10 + web.maxfiles=10 + web.maxshortchanges=60 + web.motd= + web.port=8000 + web.prefix= + web.push_ssl=True + web.refreshinterval=20 + web.server-header=testing stub value + web.static=None + web.staticurl=None + web.stripes=1 + web.style=paper + web.templates=None + web.view=served + worker.backgroundclosemaxqueue=384 + worker.backgroundcloseminfilecount=2048 + worker.backgroundclosethreadcount=4 + worker.enabled=True + worker.numcpus=None + + $ hg showconfig ui.color --registered + auto + + $ hg showconfig --registered -T '{name}={value}\n' | egrep '^(color|diff)' + color.mode=auto + diff.git=False + diff.ignoreblanklines=False + diff.ignorews=False + diff.ignorewsamount=False + diff.ignorewseol=False + diff.nobinary=False + diff.nodates=False + diff.noprefix=False + diff.showfunc=False + diff.unified=None + diff.word-diff=False