diff options
Diffstat (limited to 'tests/test-convert-p4')
-rwxr-xr-x | tests/test-convert-p4 | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/test-convert-p4 b/tests/test-convert-p4 new file mode 100755 index 0000000..3ae3c72 --- /dev/null +++ b/tests/test-convert-p4 @@ -0,0 +1,75 @@ +#!/bin/sh + +"$TESTDIR/hghave" p4 || exit 80 + +echo "[extensions]" >> $HGRCPATH +echo "convert = " >> $HGRCPATH + +echo % create p4 depot +P4ROOT=`pwd`/depot; export P4ROOT +P4AUDIT=$P4ROOT/audit; export P4AUDIT +P4JOURNAL=$P4ROOT/journal; export P4JOURNAL +P4LOG=$P4ROOT/log; export P4LOG +P4PORT=localhost:16661; export P4PORT +P4DEBUG=1; export P4DEBUG + +echo % start the p4 server +[ ! -d $P4ROOT ] && mkdir $P4ROOT +p4d -f -J off >$P4ROOT/stdout 2>$P4ROOT/stderr & +trap "echo % stop the p4 server ; p4 admin stop" EXIT + +# wait for the server to initialize +while ! p4 ; do + sleep 1 +done >/dev/null 2>/dev/null + +echo % create a client spec +P4CLIENT=hg-p4-import; export P4CLIENT +DEPOTPATH=//depot/test-mercurial-import/... +p4 client -o | sed '/^View:/,$ d' >p4client +echo View: >>p4client +echo " $DEPOTPATH //$P4CLIENT/..." >>p4client +p4 client -i <p4client + +echo % populate the depot +echo a > a +mkdir b +echo c > b/c +p4 add a b/c +p4 submit -d initial + +echo % change some files +p4 edit a +echo aa >> a +p4 submit -d "change a" + +p4 edit b/c +echo cc >> b/c +p4 submit -d "change b/c" + +echo % convert +hg convert -s p4 $DEPOTPATH dst +hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n' + +echo % change some files +p4 edit a b/c +echo aaa >> a +echo ccc >> b/c +p4 submit -d "change a b/c" + +echo % convert again +hg convert -s p4 $DEPOTPATH dst +hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n' + +echo % interesting names +echo dddd > "d d" +mkdir " e" +echo fff >" e/ f" +p4 add "d d" " e/ f" +p4 submit -d "add d e f" + +echo % convert again +hg convert -s p4 $DEPOTPATH dst +hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n' + + |