view tests/test-convert-p4 @ 8564:6b9ec23b09fc

named branches: improve pre-push logic (issue736) Each named branch is considered separately, and the push is allowed if no new branch heads are created for any named branch to be pushed. Due to some tests's use of --debug, their output will change after this addition. This has been fixed as well. Co-contributor: Henrik Stuart <henrik.stuart@edlund.dk>
author Sune Foldager <cryo@cyanite.org>
date Sat, 23 May 2009 17:04:31 +0200
parents 5b7da468531b
children 95046688f80f
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" p4 || exit 80

echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH

echo % create p4 depot
export P4ROOT=$PWD/depot
export P4AUDIT=$P4ROOT/audit
export P4JOURNAL=$P4ROOT/journal
export P4LOG=$P4ROOT/log
export P4PORT=localhost:16661
export P4DEBUG=1

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
export P4CLIENT=hg-p4-import
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'