Mercurial > public > mercurial-scm > hg-stable
diff mercurial/ui.py @ 46662:b91a695b3b08
config: use level to properly deal with value priority
A higher priority alias will now take precedence over lower priority ones.
This was a requirements step before using alias more widely, especially to
rename existing and established config option.
Differential Revision: https://phab.mercurial-scm.org/D9927
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 29 Jan 2021 12:17:11 +0100 |
parents | a3dced4b7b04 |
children | 66fb04552122 |
line wrap: on
line diff
--- a/mercurial/ui.py Fri Jan 29 11:21:49 2021 +0100 +++ b/mercurial/ui.py Fri Jan 29 12:17:11 2021 +0100 @@ -662,11 +662,18 @@ msg %= (section, name, pycompat.bytestr(default)) self.develwarn(msg, 2, b'warn-config-default') + candidates = [] + config = self._data(untrusted) for s, n in alternates: - candidate = self._data(untrusted).get(s, n, None) + candidate = config.get(s, n, None) if candidate is not None: - value = candidate - break + candidates.append((s, n, candidate)) + if candidates: + + def level(x): + return config.level(x[0], x[1]) + + value = max(candidates, key=level)[2] if self.debugflag and not untrusted and self._reportuntrusted: for s, n in alternates: