##// END OF EJS Templates
Mention 'hg update' to switch branches in help for branch and branches.
Mention 'hg update' to switch branches in help for branch and branches.

File last commit:

r5523:5db73047 default
r5999:d1fe1a4e default
Show More
test-extension
82 lines | 1.6 KiB | text/plain | TextLexer
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064 #!/bin/sh
# Test basic extension support
cat > foobar.py <<EOF
import os
from mercurial import commands
def uisetup(ui):
ui.write("uisetup called\\n")
Alexis S. L. Carvalho
Try to pass repo.ui to reposetup hooks...
r4074 ui.write("ui.parentui is%s None\\n" % (ui.parentui is not None
and "not" or ""))
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064
def reposetup(ui, repo):
ui.write("reposetup called for %s\\n" % os.path.basename(repo.root))
Alexis S. L. Carvalho
Try to pass repo.ui to reposetup hooks...
r4074 ui.write("ui %s= repo.ui\\n" % (ui == repo.ui and "=" or "!"))
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064
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
Brendan Cully
extensions: load modules in module/__init__.py form....
r4569 mkdir barfoo
cp foobar.py barfoo/__init__.py
barfoopath=`pwd`/barfoo
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064 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
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'foobar = !' >> $HGRCPATH
Brendan Cully
extensions: load modules in module/__init__.py form....
r4569
echo '% module/__init__.py-style'
echo "barfoo = $barfoopath" >> $HGRCPATH
cd a
hg foo
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'barfoo = !' >> $HGRCPATH
Brendan Cully
Handle extensions with defined but empty cmdtable
r4738
cd ..
cat > empty.py <<EOF
'''empty cmdtable
'''
cmdtable = {}
EOF
emptypath=`pwd`/empty.py
echo "empty = $emptypath" >> $HGRCPATH
hg help empty
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'empty = !' >> $HGRCPATH
Alexis S. L. Carvalho
help: avoid traceback if an extension has only debug commands
r4950
cat > debugextension.py <<EOF
'''only debugcommands
'''
def debugfoobar(ui, repo, *args, **opts):
"yet another debug command"
pass
cmdtable = {"debugfoobar": (debugfoobar, (), "hg debugfoobar")}
EOF
debugpath=`pwd`/debugextension.py
echo "debugextension = $debugpath" >> $HGRCPATH
hg help debugextension
hg --debug help debugextension
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'debugextension = !' >> $HGRCPATH