|
|
#!/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'
|
|
|
|
|
|
|
|
|
|