tests/test-extension
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Fri, 16 Mar 2007 00:22:58 -0300
changeset 4230 c93562fb12cc
parent 4074 0f9381cf9723
child 4567 622d8ed78b47
permissions -rwxr-xr-x
Fix handling of paths when run outside the repo. The main problem was that dirstate.getcwd() returned just "", which was interpreted as "we're at the repo root". It now returns an absolute path. The util.pathto function was also changed to deal with the "cwd is an absolute path" case.

#!/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