[PATCH STABLE] configitems: relax warning about unwanted default value
Yuya Nishihara
yuya at tcha.org
Tue Oct 31 11:30:41 EDT 2017
On Tue, 31 Oct 2017 10:44:42 -0400, Augie Fackler wrote:
> > On Oct 31, 2017, at 10:32, Yuya Nishihara <yuya at tcha.org> wrote:
> > # HG changeset patch
> > # User Yuya Nishihara <yuya at tcha.org>
> > # Date 1509457050 -32400
> > # Tue Oct 31 22:37:30 2017 +0900
> > # Branch stable
> > # Node ID 4f00958f5fc9d7ae90468f6159dff7720d0f2b27
> > # Parent 5caae380ff90735b1a1841a4f26147bf0f01351b
> > configitems: relax warning about unwanted default value
> >
> > The original condition was a bit harsh for extension authors since third-party
> > extensions need to preserve compatibility with older Mercurial versions, where
> > no defaults would be loaded from the configtable. So let's silence the warning
> > if the given default value matches, which should be harmless.
> >
> > diff --git a/mercurial/ui.py b/mercurial/ui.py
> > --- a/mercurial/ui.py
> > +++ b/mercurial/ui.py
> > @@ -471,12 +471,16 @@ class ui(object):
> > return value
> >
> > def _config(self, section, name, default=_unset, untrusted=False):
> > - value = default
> > + value = itemdefault = default
> > item = self._knownconfig.get(section, {}).get(name)
> > alternates = [(section, name)]
> >
> > if item is not None:
> > alternates.extend(item.alias)
> > + if callable(item.default):
> > + itemdefault = item.default()
> > + else:
> > + itemdefault = item.default
> > else:
> > msg = ("accessing unregistered config item: '%s.%s'")
> > msg %= (section, name)
> > @@ -490,12 +494,11 @@ class ui(object):
> > msg = "config item requires an explicit default value: '%s.%s'"
> > msg %= (section, name)
> > self.develwarn(msg, 2, 'warn-config-default')
> > - elif callable(item.default):
> > - value = item.default()
> > else:
> > - value = item.default
> > + value = itemdefault
> > elif (item is not None
> > - and item.default is not configitems.dynamicdefault):
> > + and item.default is not configitems.dynamicdefault
> > + and default != itemdefault):
> > msg = ("specifying a default value for a registered "
> > "config item: '%s.%s' '%s'")
>
> nit: should I edit the message to say "mismatched default" since that's what we're really complaining about?
I don't care much about that, but "specifying a mismatched default" sounds
more correct. Can you update it in flight?
More information about the Mercurial-devel
mailing list