showconfig: don't accept multiple sections and one config item

Showconfig now behaves as documented and only accepts one section.name argument
or a number of section names.
This commit is contained in:
Brodie Rao 2010-10-09 16:55:33 -05:00
parent 60aea94981
commit 78b26c82ec
2 changed files with 19 additions and 1 deletions

View File

@ -1066,7 +1066,9 @@ def showconfig(ui, repo, *values, **opts):
ui.debug(_('read config from: %s\n') % f)
untrusted = bool(opts.get('untrusted'))
if values:
if len([v for v in values if '.' in v]) > 1:
sections = [v for v in values if '.' not in v]
items = [v for v in values if '.' in v]
if len(items) > 1 or items and sections:
raise util.Abort(_('only one config item permitted'))
for section, name, value in ui.walkconfig(untrusted=untrusted):
sectname = section + '.' + name

View File

@ -75,6 +75,22 @@ username expansion
$ HGUSER=$olduser
$ export HGUSER
showconfig with multiple arguments
$ echo "[alias]" > $HGRCPATH
$ echo "log = log -g" >> $HGRCPATH
$ echo "[defaults]" >> $HGRCPATH
$ echo "identify = -n" >> $HGRCPATH
$ hg showconfig alias defaults
alias.log=log -g
defaults.identify=-n
$ hg showconfig alias defaults.identify
abort: only one config item permitted
[255]
$ hg showconfig alias.log defaults.identify
abort: only one config item permitted
[255]
HGPLAIN
$ cd ..