Mercurial > hg-stable
diff tests/test-convert-p4.t @ 16673:775a8d33e6f0
tests: unify the last sh tests
This requires a slightly smarter check-code check for sed output filtering.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Wed, 25 Apr 2012 01:35:39 +0200 |
parents | tests/test-convert-p4@d4d4da54ab05 |
children | 7a9cbb315d84 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-convert-p4.t Wed Apr 25 01:35:39 2012 +0200 @@ -0,0 +1,152 @@ + $ "$TESTDIR/hghave" p4 || exit 80 + + $ echo "[extensions]" >> $HGRCPATH + $ echo "convert = " >> $HGRCPATH + +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 + +start the p4 server + $ [ ! -d $P4ROOT ] && mkdir $P4ROOT + $ p4d -f -J off >$P4ROOT/stdout 2>$P4ROOT/stderr & + $ echo $! >> $DAEMON_PIDS + $ trap "echo stopping the p4 server ; p4 admin stop" EXIT + + $ # wait for the server to initialize + $ while ! p4 ; do + > sleep 1 + > done >/dev/null 2>/dev/null + +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 + Client hg-p4-import saved. + +populate the depot + $ echo a > a + $ mkdir b + $ echo c > b/c + $ p4 add a b/c + //depot/test-mercurial-import/a#1 - opened for add + //depot/test-mercurial-import/b/c#1 - opened for add + $ p4 submit -d initial + Submitting change 1. + Locking 2 files ... + add //depot/test-mercurial-import/a#1 + add //depot/test-mercurial-import/b/c#1 + Change 1 submitted. + +change some files + $ p4 edit a + //depot/test-mercurial-import/a#1 - opened for edit + $ echo aa >> a + $ p4 submit -d "change a" + Submitting change 2. + Locking 1 files ... + edit //depot/test-mercurial-import/a#2 + Change 2 submitted. + + $ p4 edit b/c + //depot/test-mercurial-import/b/c#1 - opened for edit + $ echo cc >> b/c + $ p4 submit -d "change b/c" + Submitting change 3. + Locking 1 files ... + edit //depot/test-mercurial-import/b/c#2 + Change 3 submitted. + +convert + $ hg convert -s p4 $DEPOTPATH dst + initializing destination dst repository + reading p4 views + collecting p4 changelists + 1 initial + 2 change a + 3 change b/c + scanning source... + sorting... + converting... + 2 initial + 1 change a + 0 change b/c + $ hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n' + rev=2 desc="change b/c" tags="tip" files="b/c" + rev=1 desc="change a" tags="" files="a" + rev=0 desc="initial" tags="" files="a b/c" + +change some files + $ p4 edit a b/c + //depot/test-mercurial-import/a#2 - opened for edit + //depot/test-mercurial-import/b/c#2 - opened for edit + $ echo aaa >> a + $ echo ccc >> b/c + $ p4 submit -d "change a b/c" + Submitting change 4. + Locking 2 files ... + edit //depot/test-mercurial-import/a#3 + edit //depot/test-mercurial-import/b/c#3 + Change 4 submitted. + +convert again + $ hg convert -s p4 $DEPOTPATH dst + reading p4 views + collecting p4 changelists + 1 initial + 2 change a + 3 change b/c + 4 change a b/c + scanning source... + sorting... + converting... + 0 change a b/c + $ hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n' + rev=3 desc="change a b/c" tags="tip" files="a b/c" + rev=2 desc="change b/c" tags="" files="b/c" + rev=1 desc="change a" tags="" files="a" + rev=0 desc="initial" tags="" files="a b/c" + +interesting names + $ echo dddd > "d d" + $ mkdir " e" + $ echo fff >" e/ f" + $ p4 add "d d" " e/ f" + //depot/test-mercurial-import/d d#1 - opened for add + //depot/test-mercurial-import/ e/ f#1 - opened for add + $ p4 submit -d "add d e f" + Submitting change 5. + Locking 2 files ... + add //depot/test-mercurial-import/ e/ f#1 + add //depot/test-mercurial-import/d d#1 + Change 5 submitted. + +convert again + $ hg convert -s p4 $DEPOTPATH dst + reading p4 views + collecting p4 changelists + 1 initial + 2 change a + 3 change b/c + 4 change a b/c + 5 add d e f + scanning source... + sorting... + converting... + 0 add d e f + $ hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n' + rev=4 desc="add d e f" tags="tip" files=" e/ f d d" + rev=3 desc="change a b/c" tags="" files="a b/c" + rev=2 desc="change b/c" tags="" files="b/c" + rev=1 desc="change a" tags="" files="a" + rev=0 desc="initial" tags="" files="a b/c" + +exit trap: + stopping the p4 server