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.
--- 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: