tests/test-extension
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Fri, 08 Jun 2007 23:49:12 -0300
changeset 4525 78b6add1f966
parent 4074 0f9381cf9723
child 4567 622d8ed78b47
permissions -rwxr-xr-x
Add dirstate.pathto and localrepo.pathto. Every time util.pathto is called, we have to pass the repo root and the repo cwd. dirstate.pathto is a simple convenience function that knows about the root and the cwd arguments. It's still possible to pass the cwd as an optimization. localrepo.pathto is a convenience function that just calls dirstate.pathto, just like localrepo.getcwd. dirstate.pathto becomes a single point that converts most (all?) paths from the internal representation to some OS-specific relative path for display purposes.

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