# HG changeset patch # User Alexis S. L. Carvalho # Date 1170959481 7200 # Node ID 0f9381cf9723e0d259b96ec66c538017cf5ab9a2 # Parent c620376b8fd6a77195f13c3a87d9f1931854fbe0 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. diff -r c620376b8fd6 -r 0f9381cf9723 mercurial/hg.py --- a/mercurial/hg.py Tue Feb 06 00:09:36 2007 +0300 +++ b/mercurial/hg.py Thu Feb 08 16:31:21 2007 -0200 @@ -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 diff -r c620376b8fd6 -r 0f9381cf9723 tests/test-extension --- a/tests/test-extension Tue Feb 06 00:09:36 2007 +0300 +++ b/tests/test-extension Thu Feb 08 16:31:21 2007 -0200 @@ -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") diff -r c620376b8fd6 -r 0f9381cf9723 tests/test-extension.out --- a/tests/test-extension.out Tue Feb 06 00:09:36 2007 +0300 +++ b/tests/test-extension.out Thu Feb 08 16:31:21 2007 -0200 @@ -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