D6709: config: add --registered flag to show all known configs

navaneeth.suresh (Navaneeth Suresh) phabricator at mercurial-scm.org
Thu Aug 8 11:55:27 EDT 2019


navaneeth.suresh updated this revision to Diff 16154.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6709?vs=16153&id=16154

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6709/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6709

AFFECTED FILES
  mercurial/commands.py
  mercurial/ui.py
  tests/test-completion.t
  tests/test-config.t

CHANGE DETAILS

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,824 @@
   > 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 (default: )
+  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=['chgserver', 'cmdserver', 'repocache']
+  color..*=None
+  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
+  committemplate..*=None
+  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=['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
+  defaults..*=None
+  devel.all-warnings=true (default: False)
+  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 (default: None)
+  devel.deprec-warn=False
+  devel.disableloaddefaultcerts=False
+  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
+  extdata..*=None
+  extensions..*=None
+  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
+  devel-warn: accessing unregistered config item: 'help.hidden-command\..*' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  help.hidden-command\..*=<object object at 0x7fa59ebb20e0> (default: None)
+  devel-warn: accessing unregistered config item: 'help.hidden-topic\..*' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  help.hidden-topic\..*=<object object at 0x7fa59ebb20e0> (default: None)
+  hgweb-paths..*=[]
+  hostfingerprints..*=[]
+  devel-warn: accessing unregistered config item: 'hostsecurity..*:fingerprints$' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  hostsecurity..*:fingerprints$=<object object at 0x7fa59ebb20e0> (default: None)
+  devel-warn: accessing unregistered config item: 'hostsecurity..*:verifycertsfile$' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  hostsecurity..*:verifycertsfile$=<object object at 0x7fa59ebb20e0> (default: None)
+  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=['*']
+  merge.strict-capability-check=False
+  merge-tools..*=None
+  merge-tools..*\.args$=None
+  merge-tools..*\.binary$=None
+  merge-tools..*\.check$=None
+  merge-tools..*\.checkchanged$=None
+  merge-tools..*\.fixeol$=None
+  merge-tools..*\.gui$=None
+  merge-tools..*\.mergemarkers$=None
+  merge-tools..*\.priority$=None
+  merge-tools..*\.symlink$=None
+  pager.ignore=[]
+  patch.eol=strict
+  patch.fuzz=2
+  paths..*=None
+  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=['topic', 'bar', 'number', '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
+  templates..*=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 (default: None)
+  ui.interface=None
+  ui.interface.chunkselector=None
+  ui.large-file-limit=10000000
+  ui.logblockedtimes=False
+  ui.logtemplate=None
+  ui.merge=internal:merge (default: None)
+  ui.mergemarkers=detailed (default: basic)
+  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 (default: False)
+  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 (default: False)
+  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 (default: )
+  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 (default: None)
+  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 --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 (default: )
+  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=['chgserver', 'cmdserver', 'repocache']
+  color..*=None
+  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
+  committemplate..*=None
+  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=['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
+  defaults..*=None
+  devel.all-warnings=true (default: False)
+  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 (default: None)
+  devel.deprec-warn=False
+  devel.disableloaddefaultcerts=False
+  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
+  extdata..*=None
+  extensions..*=None
+  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
+  devel-warn: accessing unregistered config item: 'help.hidden-command\..*' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  help.hidden-command\..*=<object object at 0x7f11c03da0e0> (default: None)
+  devel-warn: accessing unregistered config item: 'help.hidden-topic\..*' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  help.hidden-topic\..*=<object object at 0x7f11c03da0e0> (default: None)
+  hgweb-paths..*=[]
+  hostfingerprints..*=[]
+  devel-warn: accessing unregistered config item: 'hostsecurity..*:fingerprints$' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  hostsecurity..*:fingerprints$=<object object at 0x7f11c03da0e0> (default: None)
+  devel-warn: accessing unregistered config item: 'hostsecurity..*:verifycertsfile$' at: /tmp/hgtests.QKOa4C/install/lib/python/mercurial/commands.py:1876 (config)
+  hostsecurity..*:verifycertsfile$=<object object at 0x7f11c03da0e0> (default: None)
+  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=['*']
+  merge.strict-capability-check=False
+  merge-tools..*=None
+  merge-tools..*\.args$=None
+  merge-tools..*\.binary$=None
+  merge-tools..*\.check$=None
+  merge-tools..*\.checkchanged$=None
+  merge-tools..*\.fixeol$=None
+  merge-tools..*\.gui$=None
+  merge-tools..*\.mergemarkers$=None
+  merge-tools..*\.priority$=None
+  merge-tools..*\.symlink$=None
+  pager.ignore=[]
+  patch.eol=strict
+  patch.fuzz=2
+  paths..*=None
+  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=['topic', 'bar', 'number', '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
+  templates..*=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 (default: None)
+  ui.interface=None
+  ui.interface.chunkselector=None
+  ui.large-file-limit=10000000
+  ui.logblockedtimes=False
+  ui.logtemplate=None
+  ui.merge=internal:merge (default: None)
+  ui.mergemarkers=detailed (default: basic)
+  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 (default: False)
+  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 (default: False)
+  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 (default: False)
+  verify.skipflags=None
+  web.accesslog=-
+  web.address=localhost (default: )
+  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 (default: None)
+  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
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/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -818,6 +818,17 @@
             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 not configitems.dynamicdefault:
+                    if section == 'experimental' and not self.verbose:
+                        # Omit experimental config options unless on verbose
+                        continue
+                    value = self._config(section, name, untrusted=untrusted)
+                    yield section, name, value
+
     def plain(self, feature=None):
         '''is plain mode active?
 
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)
@@ -1885,7 +1889,12 @@
             fm.data(name=entryname)
             fm.write('value', '%s\n', value)
         else:
-            fm.write('name value', '%s=%s\n', entryname, value)
+            if (opts.get('registered') and
+                value != pycompat.bytestr(defaultvalue)):
+                fm.write('name value defaultvalue', '%s=%s (default: %s)\n',
+                          entryname, value, defaultvalue)
+            else:
+                fm.write('name value', '%s=%s\n', entryname, value)
         fm.data(defaultvalue=defaultvalue)
         matched = True
     fm.end()



To: navaneeth.suresh, #hg-reviewers, av6, marmoute
Cc: pulkit, marmoute, av6, mjpieters, mercurial-devel


More information about the Mercurial-devel mailing list