Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-extension @ 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 | 5d9ede002453 |
children | 622d8ed78b47 |
line wrap: on
line source
#!/bin/sh # Test basic extension support cat > foobar.py <<EOF import os from mercurial import commands 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") def bar(ui, *args, **kwargs): ui.write("Bar\\n") cmdtable = { "foo": (foo, [], "hg foo"), "bar": (bar, [], "hg bar"), } commands.norepo += ' bar' EOF abspath=`pwd`/foobar.py hg init a cd a echo foo > file hg add file hg commit -m 'add file' echo '[extensions]' >> $HGRCPATH echo "foobar = $abspath" >> $HGRCPATH hg foo cd .. hg clone a b hg bar