changeset 2847:2ff57e3113a4

call reposetup functions of extension modules whenever repo created
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Thu, 10 Aug 2006 15:44:05 -0700
parents b8d587cfa3bb
children 307439d6fede
files mercurial/commands.py mercurial/hg.py
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Thu Aug 10 15:02:18 2006 -0700
+++ b/mercurial/commands.py	Thu Aug 10 15:44:05 2006 -0700
@@ -3545,6 +3545,7 @@
                         mod = sys.modules[name]
                         if hasattr(mod, 'reposetup'):
                             mod.reposetup(u, repo)
+                            hg.repo_setup_hooks.append(mod.reposetup)
                 except hg.RepoError:
                     if cmd not in optionalrepo.split():
                         raise
--- a/mercurial/hg.py	Thu Aug 10 15:02:18 2006 -0700
+++ b/mercurial/hg.py	Thu Aug 10 15:44:05 2006 -0700
@@ -48,9 +48,14 @@
             return False
     return repo.local()
 
+repo_setup_hooks = []
+
 def repository(ui, path=None, create=False):
     """return a repository object for the specified path"""
-    return _lookup(path).instance(ui, path, create)
+    repo = _lookup(path).instance(ui, path, create)
+    for hook in repo_setup_hooks:
+        hook(ui, repo)
+    return repo
 
 def defaultdest(source):
     '''return default destination of clone if none is given'''