tests/test-convert
author Greg Ward <greg-hg@gerg.ca>
Tue, 20 Jul 2010 14:00:47 -0400
branchstable
changeset 11628 68a30daead3f
parent 10885 9e4d120e3c32
permissions -rwxr-xr-x
inotify: make inotifydirstate.status() returns a tuple of lists. This makes it consistent with dirstate.status(), which is important if there are other extensions messing with the output of status(). Those extensions can safely assume that dirstate.status() returns a tuple of lists, because its docstring says it does. But inotifystatus.dirstate() returns a list of lists, which can break those other extensions.

#!/bin/sh

cat >> $HGRCPATH <<EOF
[extensions]
convert=
[convert]
hg.saverev=False
EOF

hg help convert

hg init a
cd a
echo a > a
hg ci -d'0 0' -Ama
hg cp a b
hg ci -d'1 0' -mb
hg rm a
hg ci -d'2 0' -mc
hg mv b a
hg ci -d'3 0' -md
echo a >> a
hg ci -d'4 0' -me

cd ..
hg convert a 2>&1 | grep -v 'subversion python bindings could not be loaded'
hg --cwd a-hg pull ../a

touch bogusfile
echo % should fail
hg convert a bogusfile

mkdir bogusdir
chmod 000 bogusdir

echo % should fail
hg convert a bogusdir

echo % should succeed
chmod 700 bogusdir
hg convert a bogusdir

echo % test pre and post conversion actions
echo 'include b' > filemap
hg convert --debug --filemap filemap a partialb | \
    grep 'run hg'

echo % converting empty dir should fail "nicely"
mkdir emptydir
# override $PATH to ensure p4 not visible; use $PYTHON in case we're
# running from a devel copy, not a temp installation
PATH="$BINDIR" $PYTHON "$BINDIR"/hg convert emptydir 2>&1 | sed 's,file://.*/emptydir,.../emptydir,g'

echo % convert with imaginary source type
hg convert --source-type foo a a-foo
echo % convert with imaginary sink type
hg convert --dest-type foo a a-foo

echo
echo % "testing: convert must not produce duplicate entries in fncache"
hg convert a b
echo % "contents of fncache file:"
cat b/.hg/store/fncache

echo '% test bogus URL'
hg convert -q bzr+ssh://foobar@selenic.com/baz baz

true