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

Pierre-Yves David pierre-yves.david at ens-lyon.org
Sat Aug 3 07:41:41 EDT 2019


Interesting feature for sure. Thanks for looking into it.

The `--all` flag might be a bit too generic/vague. Maybe --known, 
--registered  or --default ?

We should skip experimental and deprecated configuration unless 
--verbose is specified. And we should flag them as deprecated/experimental.

For config that has multiple alias, it could be a good idea to display 
this information too (probably with --verbose)

On 8/2/19 11:50 AM, navaneeth.suresh (Navaneeth Suresh) wrote:
> navaneeth.suresh created this revision.
> Herald added subscribers: mercurial-devel, mjpieters.
> Herald added a reviewer: hg-reviewers.
> 
> REVISION SUMMARY
>    This patch fixes one of the issues in issue6014. This adds an `--all`
>    flag to `hg showconfig` to show all known config options.
> 
> REPOSITORY
>    rHG Mercurial
> 
> REVISION DETAIL
>    https://phab.mercurial-scm.org/D6709
> 
> AFFECTED FILES
>    mercurial/commands.py
>    mercurial/ui.py
>    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
> @@ -222,3 +222,507 @@
>     > done
>     $ HGRCPATH=configs hg config section.key
>     99
> +
> +test --all flag
> +
> +  $ hg showconfig --all
> +  chgserver.idletimeout=3600
> +  chgserver.skiphash=False
> +  fsmonitor.warn_when_unused=True
> +  fsmonitor.warn_update_file_count=50000
> +  progress.assume-tty=False
> +  progress.clear-complete=True
> +  progress.refresh=0.1
> +  progress.debug=False
> +  progress.format=['topic', 'bar', 'number', 'estimate']
> +  devel-warn: config item requires an explicit default value: 'progress.width' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  progress.width=None
> +  progress.changedelay=1
> +  progress.estimateinterval=60.0
> +  progress.delay=3
> +  progress.disable=False
> +  sparse.missingwarning=True
> +  devel-warn: config item requires an explicit default value: 'alias..*' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  alias..*=None
> +  merge.followcopies=True
> +  merge.preferancestor=['*']
> +  merge.on-failure=continue
> +  merge.checkunknown=abort
> +  merge.checkignored=abort
> +  merge.strict-capability-check=False
> +  email.cc=None
> +  email.reply-to=None
> +  email.bcc=None
> +  email.charsets=[]
> +  email.from=None
> +  email.method=smtp
> +  email.to=None
> +  format.generaldelta=False
> +  format.usefncache=True
> +  format.obsstore-version=None
> +  devel-warn: config item requires an explicit default value: 'format.maxchainlen' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  format.maxchainlen=None
> +  format.internal-phase=False
> +  format.revlog-compression=$BUNDLE2_COMPRESSIONS$
> +  format.manifestcachesize=None
> +  format.bookmarks-in-store=False
> +  format.usestore=True
> +  format.chunkcachesize=None
> +  format.usegeneraldelta=True
> +  format.dotencode=True
> +  format.sparse-revlog=True
> +  profiling.nested=0
> +  profiling.output=None
> +  profiling.enabled=False
> +  devel-warn: config item requires an explicit default value: 'profiling.time-track' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  profiling.time-track=None
> +  profiling.freq=1000
> +  profiling.format=text
> +  profiling.statformat=hotpath
> +  profiling.type=stat
> +  profiling.showmax=0.999
> +  devel-warn: config item requires an explicit default value: 'profiling.showmin' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  profiling.showmin=None
> +  profiling.limit=30
> +  profiling.showtime=True
> +  profiling.sort=inlinetime
> +  cmdserver.max-repo-cache=0
> +  cmdserver.message-encodings=[]
> +  cmdserver.max-log-files=7
> +  cmdserver.track-log=['chgserver', 'cmdserver', 'repocache']
> +  cmdserver.max-log-size=1 MB
> +  cmdserver.log=None
> +  push.pushvars.server=False
> +  bookmarks.pushing=[]
> +  devel-warn: config item requires an explicit default value: 'pager.attend-.*' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  pager.attend-.*=None
> +  devel-warn: config item requires an explicit default value: 'pager.pager' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  pager.pager=None
> +  pager.ignore=[]
> +  web.deny_push=[]
> +  web.maxfiles=10
> +  devel-warn: config item requires an explicit default value: 'web.name' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  web.name=None
> +  web.contact=None
> +  web.allow-pull=True
> +  web.port=8000
> +  web.errorlog=-
> +  web.comparisoncontext=5
> +  web.archivesubrepos=False
> +  web.templates=None
> +  web.logourl=https://mercurial-scm.org/
> +  web.refreshinterval=20
> +  web.cacerts=None
> +  web.allowgz=False
> +  web.allowbz2=False
> +  web.collapse=False
> +  web.server-header=testing stub value
> +  web.labels=[]
> +  web.csp=None
> +  web.ipv6=False
> +  web.accesslog=-
> +  web.allow-archive=[]
> +  web.guessmime=False
> +  web.prefix=
> +  web.cache=True
> +  web.push_ssl=True
> +  web.allow-push=[]
> +  web.logoimg=hglogo.png
> +  web.allowzip=False
> +  web.description=
> +  web.view=served
> +  web.baseurl=None
> +  web.allow_read=[]
> +  web.hidden=False
> +  web.deny_read=[]
> +  web.certificate=None
> +  web.encoding=ascii
> +  web.staticurl=None
> +  web.address=localhost
> +  web.motd=
> +  web.maxchanges=10
> +  web.stripes=1
> +  web.style=paper
> +  web.descend=True
> +  web.maxshortchanges=60
> +  web.static=None
> +  hgweb-paths..*=[]
> +  devel-warn: accessing unregistered config item: 'hostsecurity..*:verifycertsfile$' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  hostsecurity..*:verifycertsfile$=<object object at 0x7f2adc19b0e0>
> +  devel-warn: accessing unregistered config item: 'hostsecurity..*:fingerprints$' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  hostsecurity..*:fingerprints$=<object object at 0x7f2adc19b0e0>
> +  hostsecurity.ciphers=None
> +  devel-warn: accessing unregistered config item: 'hostsecurity..*:ciphers$' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  hostsecurity..*:ciphers$=<object object at 0x7f2adc19b0e0>
> +  devel-warn: config item requires an explicit default value: 'hostsecurity.minimumprotocol' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  hostsecurity.minimumprotocol=None
> +  devel-warn: accessing unregistered config item: 'hostsecurity..*:minimumprotocol$' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  hostsecurity..*:minimumprotocol$=<object object at 0x7f2adc19b0e0>
> +  hostsecurity.disabletls10warning=False
> +  rewrite.update-timestamp=False
> +  rewrite.backup-bundle=True
> +  extdata..*=None
> +  devel-warn: config item requires an explicit default value: 'subrepos.git:allowed' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  subrepos.git:allowed=None
> +  devel-warn: config item requires an explicit default value: 'subrepos.hg:allowed' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  subrepos.hg:allowed=None
> +  devel-warn: config item requires an explicit default value: 'subrepos.svn:allowed' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  subrepos.svn:allowed=None
> +  devel-warn: config item requires an explicit default value: 'subrepos.allowed' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  subrepos.allowed=None
> +  storage.new-repo-backend=revlogv1
> +  storage.revlog.zstd.level=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
> +  diff.nobinary=False
> +  diff.ignoreblanklines=False
> +  diff.ignorewsamount=False
> +  diff.git=False
> +  diff.nodates=False
> +  diff.ignorews=False
> +  diff.word-diff=False
> +  diff.ignorewseol=False
> +  diff.showfunc=False
> +  diff.noprefix=False
> +  diff.unified=None
> +  debug.dirstate.delaywrite=0
> +  worker.numcpus=None
> +  worker.enabled=True
> +  worker.backgroundclosethreadcount=4
> +  devel-warn: config item requires an explicit default value: 'worker.backgroundclose' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  worker.backgroundclose=None
> +  worker.backgroundclosemaxqueue=384
> +  worker.backgroundcloseminfilecount=2048
> +  trusted.groups=[]
> +  trusted.users=[]
> +  defaults..*=None
> +  templates..*=None
> +  ui.askusername=False
> +  ui.clonebundles=True
> +  ui.portablefilenames=warn
> +  ui.pre-merge-tool-output-template=None
> +  ui.merge=internal:merge
> +  ui.strict=False
> +  ui.rollback=True
> +  ui.clonebundlefallback=False
> +  ui.relative-paths=legacy
> +  ui.promptecho=True
> +  ui.slash=True
> +  ui.traceback=False
> +  ui.interactive=False
> +  ui.ssh=ssh
> +  ui.archivemeta=True
> +  ui.timeout.warn=0
> +  ui.large-file-limit=10000000
> +  ui.timeout=600
> +  ui.debugger=None
> +  ui.logblockedtimes=False
> +  ui.quiet=False
> +  ui.supportcontact=None
> +  ui.ssherrorhint=None
> +  ui.interface=None
> +  ui.allowemptycommit=False
> +  ui.mergemarkertemplate={node|short} {ifeq(tags, "tip", "", ifeq(tags, "", "", "{tags} "))}{if(bookmarks, "{bookmarks} ")}{ifeq(branch, "default", "", "{branch} ")}- {author|user}: {desc|firstline}
> +  ui.verbose=False
> +  ui._usedassubrepo=False
> +  ui.debug=False
> +  ui.statuscopies=False
> +  ui.quietbookmarkmove=False
> +  ui.textwidth=78
> +  ui.formatjson=False
> +  ui.graphnodetemplate=None
> +  ui.formatted=None
> +  ui.commitsubrepos=False
> +  ui.message-output=stdio
> +  ui.fallbackencoding=None
> +  ui.forcecwd=None
> +  ui.signal-safe-lock=True
> +  ui.formatdebug=False
> +  ui.forcemerge=None
> +  ui.remotecmd=hg
> +  ui.paginate=True
> +  ui.nontty=False
> +  ui.report_untrusted=True
> +  ui.username=None
> +  ui.logtemplate=None
> +  ui.origbackuppath=None
> +  ui.patch=None
> +  ui.color=auto
> +  ui.clonebundleprefers=[]
> +  devel-warn: config item requires an explicit default value: 'ui.editor' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  ui.editor=None
> +  ui.style=
> +  ui.interface.chunkselector=None
> +  ui.mergemarkers=detailed
> +  ui.tweakdefaults=False
> +  shelve.maxbackups=10
> +  devel-warn: config item requires an explicit default value: 'templateconfig..*' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  templateconfig..*=None
> +  smtp.host=None
> +  smtp.tls=none
> +  smtp.username=None
> +  smtp.local_hostname=None
> +  smtp.password=None
> +  devel-warn: config item requires an explicit default value: 'smtp.port' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  smtp.port=None
> +  devel.warn-config-unknown=None
> +  devel.warn-empty-changegroup=False
> +  devel.disableloaddefaultcerts=False
> +  devel.servercafile=
> +  devel.debug.peer-request=False
> +  devel.check-locks=False
> +  devel.bundle.delta=
> +  devel.strip-obsmarkers=True
> +  devel.legacy.exchange=[]
> +  devel.default-date=0 0
> +  devel.debug.extensions=False
> +  devel.cache-vfs=None
> +  devel.all-warnings=true
> +  devel.warn-config=None
> +  devel.bundle2.debug=False
> +  devel.debug.copies=False
> +  devel.deprec-warn=False
> +  devel.warn-config-default=None
> +  devel.serverexactprotocol=
> +  devel.check-relroot=False
> +  devel.serverrequirecert=False
> +  devel.user.obsmarker=None
> +  devel-warn: config item requires an explicit default value: 'hooks..*' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  hooks..*=None
> +  paths..*=None
> +  paths.default=None
> +  paths.default-push=None
> +  share.pool=None
> +  share.poolnaming=identity
> +  commands.commit.interactive.noprefix=False
> +  commands.commit.interactive.nodates=False
> +  commands.resolve.explicit-re-merge=False
> +  commands.resolve.mark-check=none
> +  commands.status.terse=
> +  commands.commit.post-status=False
> +  commands.commit.interactive.ignorews=False
> +  commands.revert.interactive.ignorewseol=False
> +  commands.revert.interactive.showfunc=False
> +  commands.update.check=None
> +  commands.commit.interactive.ignorewsamount=False
> +  commands.resolve.confirm=False
> +  commands.status.verbose=False
> +  commands.commit.interactive.word-diff=False
> +  commands.commit.interactive.nobinary=False
> +  commands.grep.all-files=False
> +  commands.commit.interactive.git=False
> +  commands.revert.interactive.noprefix=False
> +  commands.status.relative=False
> +  commands.revert.interactive.word-diff=False
> +  commands.show.aliasprefix=[]
> +  commands.update.requiredest=False
> +  commands.revert.interactive.nobinary=False
> +  commands.commit.interactive.ignoreblanklines=False
> +  commands.revert.interactive.unified=None
> +  commands.revert.interactive.nodates=False
> +  commands.revert.interactive.ignorewsamount=False
> +  commands.commit.interactive.unified=None
> +  commands.commit.interactive.ignorewseol=False
> +  commands.revert.interactive.git=False
> +  commands.status.skipstates=[]
> +  commands.revert.interactive.ignoreblanklines=False
> +  commands.commit.interactive.showfunc=False
> +  commands.revert.interactive.ignorews=False
> +  commands.rebase.requiredest=False
> +  committemplate..*=None
> +  merge-tools..*\.premerge$=None
> +  merge-tools..*\.executable$=None
> +  merge-tools..*\.symlink$=None
> +  merge-tools..*\.fixeol$=None
> +  merge-tools..*=None
> +  merge-tools..*\.gui$=None
> +  merge-tools..*\.priority$=None
> +  merge-tools..*\.mergemarkertemplate$=None
> +  merge-tools..*\.mergemarkers$=None
> +  merge-tools..*\.args$=None
> +  merge-tools..*\.binary$=None
> +  merge-tools..*\.check$=None
> +  merge-tools..*\.checkchanged$=None
> +  bundle.mainreporoot=$TESTTMP
> +  server.preferuncompressed=False
> +  server.validate=False
> +  server.bundle1=True
> +  server.maxhttpheaderlen=1024
> +  server.streamunbundle=False
> +  server.zliblevel=-1
> +  server.pullbundle=False
> +  server.bundle1gd.push=None
> +  server.bundle1.push=None
> +  server.uncompressed=True
> +  server.bundle1gd=None
> +  server.disablefullbundle=False
> +  server.compressionengines=[]
> +  server.bundle2.stream=True
> +  server.concurrent-push-mode=strict
> +  server.bundle1.pull=None
> +  server.view=served
> +  server.bundle1gd.pull=None
> +  server.zstdlevel=3
> +  server.uncompressedallowsecret=False
> +  server.bookmarks-pushkey-compat=True
> +  convert.cvsps.fuzz=60
> +  convert.skiptags=False
> +  convert.git.extrakeys=[]
> +  devel-warn: config item requires an explicit default value: 'convert.p4.encoding' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  convert.p4.encoding=None
> +  convert.svn.startrev=0
> +  convert.svn.debugsvnlog=True
> +  convert.p4.startrev=0
> +  convert.hg.sourcename=None
> +  convert.git.committeractions=['messagedifferent']
> +  convert.cvsps.logencoding=None
> +  convert.git.remoteprefix=remote
> +  convert.git.findcopiesharder=False
> +  convert.svn.tags=None
> +  convert.bzr.saverev=True
> +  convert.hg.revs=None
> +  convert.git.similarity=50
> +  convert.git.renamelimit=400
> +  convert.git.saverev=True
> +  convert.hg.ignoreerrors=False
> +  convert.git.skipsubmodules=False
> +  convert.ignoreancestorcheck=False
> +  convert.hg.usebranchnames=True
> +  convert.hg.startrev=None
> +  convert.hg.tagsbranch=default
> +  convert.hg.saverev=False
> +  convert.svn.trunk=None
> +  convert.svn.branches=None
> +  convert.cvsps.mergeto=None
> +  convert.hg.clonebranches=False
> +  convert.localtimezone=False
> +  convert.cvsps.cache=True
> +  convert.cvsps.mergefrom=None
> +  convert.hg.preserve-hash=False
> +  annotate.nobinary=False
> +  annotate.ignoreblanklines=False
> +  annotate.ignorewsamount=False
> +  annotate.git=False
> +  annotate.nodates=False
> +  annotate.ignorews=False
> +  annotate.word-diff=False
> +  annotate.ignorewseol=False
> +  annotate.showfunc=False
> +  annotate.noprefix=False
> +  annotate.unified=None
> +  rebase.singletransaction=False
> +  rebase.experimental.inmemory=False
> +  http.timeout=None
> +  logtoprocess.command=None
> +  logtoprocess.develwarn=None
> +  logtoprocess.commandexception=None
> +  logtoprocess.uiblocked=None
> +  logtoprocess.commandfinish=None
> +  devel-warn: accessing unregistered config item: 'help.hidden-command\..*' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  help.hidden-command\..*=<object object at 0x7f2adc19b0e0>
> +  devel-warn: accessing unregistered config item: 'help.hidden-topic\..*' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  help.hidden-topic\..*=<object object at 0x7f2adc19b0e0>
> +  experimental.hook-track-tags=False
> +  experimental.evolution.effect-flags=True
> +  experimental.bundle2.pushback=False
> +  experimental.mmapindexthreshold=None
> +  experimental.evolution=[]
> +  experimental.update.atomic-file=False
> +  experimental.clientcompressionengines=[]
> +  experimental.evolution.allowdivergence=False
> +  experimental.copytrace=on
> +  experimental.web.api.http-v2=False
> +  experimental.bundlecomplevel=None
> +  experimental.httppeer.advertise-v2=False
> +  experimental.sparse-read.density-threshold=0.5
> +  experimental.editortmpinhg=False
> +  experimental.httppeer.v2-encoder-order=None
> +  experimental.graphshorten=False
> +  experimental.httppostargs=False
> +  experimental.server.stream-narrow-clones=False
> +  experimental.changegroup3=False
> +  experimental.directaccess=False
> +  experimental.worker.wdir-get-thread-safe=False
> +  experimental.server.manifestdata.recommended-batch-size=100000
> +  experimental.extendedheader.index=None
> +  experimental.copytrace.sourcecommitlimit=100
> +  experimental.sshserver.support-v2=False
> +  experimental.obsmarkers-exchange-debug=False
> +  experimental.bundle2-output-capture=False
> +  devel-warn: config item requires an explicit default value: 'experimental.archivemetatemplate' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  experimental.archivemetatemplate=None
> +  experimental.cleanup-as-archived=False
> +  experimental.nonnormalparanoidcheck=False
> +  experimental.evolution.exchange=None
> +  experimental.log.topo=False
> +  experimental.bundlecomplevel.zstd=None
> +  experimental.exportableenviron=[]
> +  experimental.revlogv2=None
> +  experimental.crecordtest=None
> +  experimental.web.apiserver=False
> +  experimental.copies.write-to=filelog-only
> +  experimental.extendedheader.similarity=False
> +  experimental.bundle2-advertise=True
> +  experimental.copies.read-from=filelog-only
> +  experimental.merge.checkpathconflicts=False
> +  experimental.removeemptydirs=True
> +  experimental.auto-publish=publish
> +  experimental.xdiff=False
> +  experimental.single-head-per-branch=False
> +  experimental.mergedriver=None
> +  experimental.revert.interactive.select-to-keep=False
> +  experimental.web.api.debugreflect=False
> +  devel-warn: config item requires an explicit default value: 'experimental.graphstyle.missing' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  experimental.graphstyle.missing=None
> +  devel-warn: config item requires an explicit default value: 'experimental.graphstyle.parent' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  experimental.graphstyle.parent=None
> +  experimental.copytrace.movecandidateslimit=100
> +  experimental.directaccess.revnums=False
> +  experimental.evolution.createmarkers=None
> +  experimental.nointerrupt-interactiveonly=True
> +  experimental.server.filesdata.recommended-batch-size=50000
> +  experimental.sshpeer.advertise-v2=False
> +  experimental.sparse-read=False
> +  experimental.revisions.disambiguatewithin=None
> +  experimental.evolution.allowunstable=None
> +  experimental.bundle2lazylocking=False
> +  experimental.evolution.report-instabilities=True
> +  experimental.bundlecomplevel.bzip2=None
> +  devel-warn: config item requires an explicit default value: 'experimental.graphstyle.grandparent' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  experimental.graphstyle.grandparent=None
> +  experimental.bundle-phases=False
> +  experimental.remotenames=False
> +  experimental.nointerrupt=False
> +  experimental.narrow=False
> +  experimental.evolution.bundle-obsmarker=False
> +  experimental.sparse-read.min-gap-size=65K
> +  experimental.extra-filter-revs=None
> +  experimental.maxdeltachainspan=-1
> +  experimental.evolution.track-operation=True
> +  experimental.treemanifest=False
> +  experimental.rebaseskipobsolete=True
> +  experimental.mergetempdirprefix=None
> +  experimental.bundlecomplevel.none=None
> +  experimental.revisions.prefixhexnode=False
> +  experimental.bundlecomplevel.gzip=None
> +  phases.new-commit=draft
> +  phases.checksubrepos=follow
> +  phases.publish=True
> +  patch.fuzz=2
> +  patch.eol=strict
> +  color..*=None
> +  devel-warn: config item requires an explicit default value: 'color.pagermode' at: /tmp/hgtests.Ps_zAY/install/lib/python/mercurial/commands.py:1876 (config)
> +  color.pagermode=None
> +  color.mode=auto
> +  censor.policy=abort
> +  extensions..*=None
> +  verify.skipflags=None
> +  auth.cookiefile=None
> +  hostfingerprints..*=[]
> +  http_proxy.user=None
> +  http_proxy.host=None
> +  http_proxy.no=[]
> +  http_proxy.passwd=None
> +  http_proxy.always=False
> diff --git a/mercurial/ui.py b/mercurial/ui.py
> --- a/mercurial/ui.py
> +++ b/mercurial/ui.py
> @@ -818,6 +818,13 @@
>               for name, value in self.configitems(section, untrusted):
>                   yield section, name, value
>   
> +    def walkallconfig(self, untrusted=False):
> +        """walk through all known config options in the registrar"""
> +        for section in self._knownconfig:
> +            for name, item in self._knownconfig[section].iteritems():
> +                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')),
> +    [('a', 'all', None, _('show all known 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('all'):
> +        walkconfig = ui.walkallconfig(untrusted=untrusted)
> +    for section, name, value in walkconfig:
>           source = ui.configsource(section, name, untrusted)
>           value = pycompat.bytestr(value)
>           defaultvalue = pycompat.bytestr(ui.configdefault(section, name))
> 
> 
> 
> To: navaneeth.suresh, #hg-reviewers
> Cc: mjpieters, mercurial-devel
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
> 

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list