diff -r c467d13334ee -r bf1292c057ef mercurial/configitems.py --- a/mercurial/configitems.py Sat Jun 17 13:48:20 2017 +0200 +++ b/mercurial/configitems.py Sun Jun 18 19:52:54 2017 +0200 @@ -16,7 +16,15 @@ def loadconfigtable(ui, extname, configtable): """update config item known to the ui with the extension ones""" for section, items in configtable.items(): - ui._knownconfig.setdefault(section, {}).update(items) + knownitems = ui._knownconfig.setdefault(section, {}) + knownkeys = set(knownitems) + newkeys = set(items) + for key in sorted(knownkeys & newkeys): + msg = "extension '%s' overwrite config item '%s.%s'" + msg %= (extname, section, key) + ui.develwarn(msg, config='warn-config') + + knownitems.update(items) class configitem(object): """represent a known config item