diff -r 5fbac82a8780 -r b1b3127227be mercurial/commands.py --- a/mercurial/commands.py Sat Jun 12 00:51:34 2021 -0400 +++ b/mercurial/commands.py Fri Apr 09 17:04:39 2021 +0200 @@ -2200,6 +2200,21 @@ b'config|showconfig|debugconfig', [ (b'u', b'untrusted', None, _(b'show untrusted configuration options')), + # This is experimental because we need + # * reasonable behavior around aliases, + # * decide if we display [debug] [experimental] and [devel] section par + # default + # * some way to display "generic" config entry (the one matching + # regexp, + # * proper display of the different value type + # * a better way to handle values (and variable types), + # * maybe some type information ? + ( + b'', + b'exp-all-known', + None, + _(b'show all known config option (EXPERIMENTAL)'), + ), (b'e', b'edit', None, _(b'edit user config')), (b'l', b'local', None, _(b'edit repository config')), (b'', b'source', None, _(b'show source of configuration value')), @@ -2336,8 +2351,10 @@ selentries = set(selentries) matched = False + all_known = opts[b'exp_all_known'] show_source = ui.debugflag or opts.get(b'source') - for section, name, value in ui.walkconfig(untrusted=untrusted): + entries = ui.walkconfig(untrusted=untrusted, all_known=all_known) + for section, name, value in entries: source = ui.configsource(section, name, untrusted) value = pycompat.bytestr(value) defaultvalue = ui.configdefault(section, name)