dispatch: allow extensions to provide setup code
authorKirill Smelkov <kirr@mns.spb.ru>
Thu, 10 Jan 2008 12:07:18 +0300
changeset 5828 863e237b58fb
parent 5827 0c29977bd7db
child 5829 784073457a0f
dispatch: allow extensions to provide setup code we'll need this soon, when record extension will optionally depend on mq early -- when preparing cmdtable. Also, if accepted, ExtensionHowto wiki should be updated as well.
mercurial/dispatch.py
--- a/mercurial/dispatch.py	Thu Jan 10 12:07:13 2008 +0300
+++ b/mercurial/dispatch.py	Thu Jan 10 12:07:18 2008 +0300
@@ -275,6 +275,15 @@
     for name, module in extensions.extensions():
         if name in _loaded:
             continue
+
+        # setup extensions
+        # TODO this should be generalized to scheme, where extensions can
+        #      redepend on other extensions.  then we should toposort them, and
+        #      do initialization in correct order
+        extsetup = getattr(module, 'extsetup', None)
+        if extsetup:
+            extsetup()
+
         cmdtable = getattr(module, 'cmdtable', {})
         overrides = [cmd for cmd in cmdtable if cmd in commands.table]
         if overrides: