# 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])