diff --git a/hggit/__init__.py b/hggit/__init__.py index a2eccdeed26d809e084ec211858c711b45d31b56_aGdnaXQvX19pbml0X18ucHk=..c249de74742b3cf2d90582c3f6407a4daf442e26_aGdnaXQvX19pbml0X18ucHk= 100644 --- 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,6 +85,7 @@ buglink = 'https://bitbucket.org/durin42/hg-git/issues' cmdtable = {} +configtable = {} try: from mercurial import registrar command = registrar.command(cmdtable) @@ -87,6 +89,9 @@ 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 index a2eccdeed26d809e084ec211858c711b45d31b56_aGdnaXQvY29tcGF0LnB5..c249de74742b3cf2d90582c3f6407a4daf442e26_aGdnaXQvY29tcGF0LnB5 100644 --- a/hggit/compat.py +++ b/hggit/compat.py @@ -65,7 +65,16 @@ 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) @@ -68,5 +77,7 @@ 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])