D6962: config: add defaults and experimental status for --debug flag

navaneeth.suresh (Navaneeth Suresh) phabricator at mercurial-scm.org
Fri Oct 4 19:11:23 UTC 2019


navaneeth.suresh created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This patch adds `EXPERIMENTAL` to the output of 'showconfig --debug'
  for experimental flags which are not under the `section == 'experimental'`.
  This also adds the default value of the config item if it differs from
  the current value.

REPOSITORY
  rHG Mercurial

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

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
@@ -972,3 +972,11 @@
   diff.showfunc=False
   diff.unified=None
   diff.word-diff=False
+
+  $ hg showconfig --debug --registered | grep 'cmdserver'
+  none: cmdserver.log=None
+  none: cmdserver.max-log-files=7
+  none: cmdserver.max-log-size=1 MB
+  none: cmdserver.max-repo-cache(EXPERIMENTAL)=0 (default: None)
+  none: cmdserver.message-encodings(EXPERIMENTAL)=[] (default: None)
+  none: cmdserver.track-log=[b'chgserver', b'cmdserver', b'repocache']
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -833,6 +833,9 @@
                     # --verbose is specified.
                     continue
                 value = self._config(section, name, untrusted=untrusted)
+                if self.debugflag:
+                    if item.experimental or 'experimental' in name:
+                        name = ''.join([name, '(EXPERIMENTAL)'])
                 yield section, name, value
 
     def plain(self, feature=None):
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1890,7 +1890,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) and ui.debugflag):
+                fm.write('name value defaultvalue', '%s=%s (default: %s)\n',
+                          entryname, value, pycompat.bytestr(defaultvalue))
+            else:
+                fm.write('name value', '%s=%s\n', entryname, value)
         matched = True
     fm.end()
     if matched:



To: navaneeth.suresh, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list