diff options
author | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-08-22 14:49:51 +0100 |
---|---|---|
committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-08-22 14:49:51 +0100 |
commit | a498da43c7fdb9f24b73680c02a4a3588cc62d9a (patch) | |
tree | daf8119dae1749b5165b68033a1b23a7375ce9ce /tests/test-convert-cvs-branch.t | |
download | mercurial-tarball-a498da43c7fdb9f24b73680c02a4a3588cc62d9a.tar.gz |
Tarball conversion
Diffstat (limited to 'tests/test-convert-cvs-branch.t')
-rw-r--r-- | tests/test-convert-cvs-branch.t | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/tests/test-convert-cvs-branch.t b/tests/test-convert-cvs-branch.t new file mode 100644 index 0000000..ba35c02 --- /dev/null +++ b/tests/test-convert-cvs-branch.t @@ -0,0 +1,193 @@ +This is http://mercurial.selenic.com/bts/issue1148 +and http://mercurial.selenic.com/bts/issue1447 + + $ "$TESTDIR/hghave" cvs || exit 80 + $ cvscall() + > { + > cvs -f "$@" > /dev/null + > } + $ echo "[extensions]" >> $HGRCPATH + $ echo "convert = " >> $HGRCPATH + $ echo "graphlog = " >> $HGRCPATH + $ echo "[convert]" >> $HGRCPATH + $ echo "cvsps.cache=0" >> $HGRCPATH + +create cvs repository + + $ mkdir cvsrepo + $ cd cvsrepo + $ CVSROOT=`pwd` + $ export CVSROOT + $ CVS_OPTIONS=-f + $ export CVS_OPTIONS + $ cd .. + $ cvscall -q -d "$CVSROOT" init + +Create a new project + + $ mkdir src + $ cd src + $ echo "1" > a + $ echo "1" > b + $ cvscall import -m "init" src v0 r0 | sort + $ cd .. + $ cvscall co src + cvs checkout: Updating src + $ cd src + +Branch the project + + $ cvscall tag -b BRANCH + cvs tag: Tagging . + $ cvscall up -r BRANCH > /dev/null + cvs update: Updating . + +Modify file a, then b, then a + + $ sleep 1 + $ echo "2" > a + $ cvscall ci -m "mod a" + cvs commit: Examining . + $ echo "2" > b + $ cvscall ci -m "mod b" + cvs commit: Examining . + $ sleep 1 + $ echo "3" > a + $ cvscall ci -m "mod a again" + cvs commit: Examining . + +Convert + + $ cd .. + $ hg convert src + assuming destination src-hg + initializing destination src-hg repository + connecting to $TESTTMP/cvsrepo + scanning source... + collecting CVS rlog + 7 log entries + creating changesets + 5 changeset entries + sorting... + converting... + 4 Initial revision + 3 init + 2 mod a + 1 mod b + 0 mod a again + updating tags + +Check the result + + $ hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n' + o 5 () update tags files: .hgtags + | + | o 4 (BRANCH) mod a again files: a + | | + | o 3 (BRANCH) mod b files: b + | | + | o 2 (BRANCH) mod a files: a + | | + | o 1 (v0) init files: + |/ + o 0 () Initial revision files: a b + + + +issue 1447 + + $ cvscall() + > { + > cvs -f "$@" > /dev/null + > sleep 1 + > } + $ cvsci() + > { + > cvs -f ci "$@" >/dev/null + > sleep 1 + > } + $ cvscall -Q -d `pwd`/cvsmaster2 init + $ cd cvsmaster2 + $ CVSROOT=`pwd` + $ export CVSROOT + $ mkdir foo + $ cd .. + $ cvscall -Q co -d cvswork2 foo + $ cd cvswork2 + $ echo foo > a.txt + $ echo bar > b.txt + $ cvscall -Q add a.txt b.txt + $ cvsci -m "Initial commit" + cvs commit: Examining . + $ echo foo > b.txt + $ cvsci -m "Fix b on HEAD" + cvs commit: Examining . + $ echo bar > a.txt + $ cvsci -m "Small fix in a on HEAD" + cvs commit: Examining . + $ cvscall -Q tag -b BRANCH + $ cvscall -Q up -P -rBRANCH + $ echo baz > b.txt + $ cvsci -m "Change on BRANCH in b" + cvs commit: Examining . + $ hg debugcvsps -x --parents foo + collecting CVS rlog + 5 log entries + creating changesets + 4 changeset entries + --------------------- + PatchSet 1 + Date: * (glob) + Author: * (glob) + Branch: HEAD + Tag: (none) + Log: + Initial commit + + Members: + a.txt:INITIAL->1.1 + b.txt:INITIAL->1.1 + + --------------------- + PatchSet 2 + Date: * (glob) + Author: * (glob) + Branch: HEAD + Tag: (none) + Branchpoints: BRANCH + Parent: 1 + Log: + Fix b on HEAD + + Members: + b.txt:1.1->1.2 + + --------------------- + PatchSet 3 + Date: * (glob) + Author: * (glob) + Branch: HEAD + Tag: (none) + Branchpoints: BRANCH + Parent: 2 + Log: + Small fix in a on HEAD + + Members: + a.txt:1.1->1.2 + + --------------------- + PatchSet 4 + Date: * (glob) + Author: * (glob) + Branch: BRANCH + Tag: (none) + Parent: 3 + Log: + Change on BRANCH in b + + Members: + b.txt:1.2->1.2.2.1 + + + $ cd .. |