#!/bin/sh
"$TESTDIR/hghave" baz || exit 80
# I cannot find a way to set the user name locally
tla my-id > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo '***'
echo '* PLEASE SET YOUR TLA USERNAME WITH:'
echo '* tla my-id username'
echo '***'
exit 1;
fi
echo "[extensions]" >> $HGRCPATH
echo "convert=" >> $HGRCPATH
echo 'hgext.graphlog =' >> $HGRCPATH
echo % create baz archive
baz make-archive baz@mercurial--convert hg-test-convert-baz
echo % initialize baz repo
mkdir baz-repo
cd baz-repo/
baz init-tree baz@mercurial--convert/baz--test--0
baz import
echo % create initial files
echo 'this is a file' > a
baz add a
mkdir src
baz add src
cd src
dd count=1 if=/dev/zero of=b > /dev/null 2> /dev/null
baz add b
baz commit -s "added a file, src and src/b (binary)"
echo % create link file and modify a
ln -s ../a a-link
baz add a-link
echo 'this a modification to a' >> ../a
baz commit -s "added link to a and modify a"
echo % create second link and modify b
ln -s ../a a-link-2
baz add a-link-2
dd count=1 seek=1 if=/dev/zero of=b > /dev/null 2> /dev/null
baz commit -s "added second link and modify b"
echo % b file to link and a-link-2 to regular file
rm -f a-link-2
echo 'this is now a regular file' > a-link-2
ln -sf ../a b
baz commit -s "file to link and link to file test"
echo % move a-link-2 file and src directory
cd ..
baz mv src/a-link-2 c
baz mv src test
baz commit -s "move and rename a-link-2 file and src directory"
cd ..
echo % converting baz repo to Mercurial
hg convert baz-repo baz-repo-hg
baz register-archive -d baz@mercurial--convert
glog()
{
hg glog --template '#rev# "#desc|firstline#" files: #files#\n' "$@"
}
echo % show graph log
glog -R baz-repo-hg
hg -R baz-repo-hg manifest --debug