Mercurial > hg > mercurial-crew
changeset 4074:0f9381cf9723
Try to pass repo.ui to reposetup hooks
The ui object we received in this function may belong to another repo,
which could be confusing from the hook point of view. Trying to use
the ui object from the newly created repo should avoid this confusion.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Thu, 08 Feb 2007 16:31:21 -0200 |
parents | c620376b8fd6 |
children | 31a679ae7eef |
files | mercurial/hg.py tests/test-extension tests/test-extension.out |
diffstat | 3 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -54,6 +54,7 @@ def repository(ui, path='', create=False): """return a repository object for the specified path""" repo = _lookup(path).instance(ui, path, create) + ui = getattr(repo, "ui", ui) for hook in repo_setup_hooks: hook(ui, repo) return repo
--- a/tests/test-extension +++ b/tests/test-extension @@ -7,9 +7,12 @@ def uisetup(ui): ui.write("uisetup called\\n") + ui.write("ui.parentui is%s None\\n" % (ui.parentui is not None + and "not" or "")) def reposetup(ui, repo): ui.write("reposetup called for %s\\n" % os.path.basename(repo.root)) + ui.write("ui %s= repo.ui\\n" % (ui == repo.ui and "=" or "!")) def foo(ui, *args, **kwargs): ui.write("Foo\\n")
--- a/tests/test-extension.out +++ b/tests/test-extension.out @@ -1,9 +1,15 @@ uisetup called +ui.parentui is None reposetup called for a +ui == repo.ui Foo uisetup called +ui.parentui is None reposetup called for a +ui == repo.ui reposetup called for b +ui == repo.ui 1 files updated, 0 files merged, 0 files removed, 0 files unresolved uisetup called +ui.parentui is None Bar