configitems: get default values from the central registry when available
authorPierre-Yves David <pierre-yves.david@octobus.net>
Sat, 17 Jun 2017 12:15:28 +0200
changeset 33003 28a65fd4b359
parent 33002 6d983e8af49c
child 33004 2529e2ae9f4c
configitems: get default values from the central registry when available We do not have any registered config yet, but we are now ready to use them. For now we ignore this feature for config access with "alternates". On the long run, we expect alternates to be handled as "aliases" by the config item themself.
mercurial/ui.py
--- a/mercurial/ui.py	Sat Jun 17 18:43:27 2017 +0200
+++ b/mercurial/ui.py	Sat Jun 17 12:15:28 2017 +0200
@@ -439,11 +439,17 @@
         return self._data(untrusted).source(section, name)
 
     def config(self, section, name, default=_unset, untrusted=False):
-        if default is _unset:
-            default = None
         if isinstance(name, list):
             alternates = name
+            # let us ignore the config items in the alternates case for now
+            if default is _unset:
+                default = None
         else:
+            if default is _unset:
+                default = None
+                item = self._knownconfig.get(section, {}).get(name)
+                if item is not None:
+                    default = item.default
             alternates = [name]
 
         for n in alternates: