tests/test-convert-baz
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Tue, 14 Oct 2008 20:13:53 +0200
changeset 7104 9514cbb6e4f6
parent 6799 12d1e1e79faf
child 7567 0946294d1f32
permissions -rwxr-xr-x
bdiff: normalize the diff (issue1295) When the common part of a diff can be moved forward, move it forward. Otherwise we don't get deterministic results (it would depends on the way we split for the recursion). That way we get identical hunks when doing the same change, it helps to solve issue1295 (inconsistent diffs on different side during a merge).

#!/bin/sh

"$TESTDIR/hghave" baz || exit 80

mkdir do_not_use_HOME_baz
cd do_not_use_HOME_baz
HOME=`pwd`; export HOME
cd ..
baz my-id "mercurial <mercurial@selenic.com>"

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 up -q -R baz-repo-hg
hg -R baz-repo-hg manifest --debug