diff -r 0c29977bd7db -r 863e237b58fb 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: