# HG changeset patch # User Kevin Bullock <kbullock@ringworld.org> # Date 1509584744 18000 # Wed Nov 01 20:05:44 2017 -0500 # Node ID c249de74742b3cf2d90582c3f6407a4daf442e26 # Parent a2eccdeed26d809e084ec211858c711b45d31b56 compat: use config registrar if available diff --git a/hggit/__init__.py b/hggit/__init__.py --- a/hggit/__init__.py +++ b/hggit/__init__.py @@ -21,6 +21,7 @@ import os # local modules +import compat import gitrepo import hgrepo import overlay @@ -84,9 +85,13 @@ buglink = 'https://bitbucket.org/durin42/hg-git/issues' cmdtable = {} +configtable = {} try: from mercurial import registrar command = registrar.command(cmdtable) + configitem = registrar.configitem(configtable) + compat.registerconfigs(configitem) + except (ImportError, AttributeError): command = cmdutil.command(cmdtable) diff --git a/hggit/compat.py b/hggit/compat.py --- a/hggit/compat.py +++ b/hggit/compat.py @@ -65,8 +65,19 @@ CONFIG_DEFAULTS = { } +hasconfigitems = False + +def registerconfigs(configitem): + global hasconfigitems + hasconfigitems = True + for section, items in CONFIG_DEFAULTS.iteritems(): + for item, default in items.iteritems(): + configitem(section, item, default=default) + def config(ui, subtype, section, item): if subtype == 'string': subtype = '' getconfig = getattr(ui, 'config' + subtype) + if hasconfigitems: + return getconfig(section, item) return getconfig(section, item, CONFIG_DEFAULTS[section][item])