diff -r d3df397e7a59 -r a3dced4b7b04 mercurial/ui.py --- a/mercurial/ui.py Fri Jan 29 10:28:03 2021 +0100 +++ b/mercurial/ui.py Fri Jan 29 11:21:49 2021 +0100 @@ -302,6 +302,11 @@ if k in self.environ: self._exportableenviron[k] = self.environ[k] + def _new_source(self): + self._ocfg.new_source() + self._tcfg.new_source() + self._ucfg.new_source() + @classmethod def load(cls): """Create a ui and load global and user configs""" @@ -313,6 +318,7 @@ elif t == b'resource': u.read_resource_config(f, trust=True) elif t == b'items': + u._new_source() sections = set() for section, name, value, source in f: # do not set u._ocfg @@ -325,6 +331,7 @@ else: raise error.ProgrammingError(b'unknown rctype: %s' % t) u._maybetweakdefaults() + u._new_source() # anything after that is a different level return u def _maybetweakdefaults(self):