test-convert-cvs-branch
112 lines
| 1.9 KiB
| text/plain
|
TextLexer
/ tests / test-convert-cvs-branch
Frank Kingswood
|
r6690 | #!/bin/sh | ||
Dirkjan Ochtman
|
r8936 | # This is http://mercurial.selenic.com/bts/issue1148 | ||
# and http://mercurial.selenic.com/bts/issue1447 | ||||
Frank Kingswood
|
r6690 | |||
"$TESTDIR/hghave" cvs || exit 80 | ||||
cvscall() | ||||
{ | ||||
cvs -f "$@" | ||||
} | ||||
echo "[extensions]" >> $HGRCPATH | ||||
echo "convert = " >> $HGRCPATH | ||||
echo "graphlog = " >> $HGRCPATH | ||||
echo "[convert]" >> $HGRCPATH | ||||
Patrick Mezard
|
r8169 | echo "cvsps.cache=0" >> $HGRCPATH | ||
Frank Kingswood
|
r6690 | |||
echo % create cvs repository | ||||
mkdir cvsrepo | ||||
cd cvsrepo | ||||
Martin Geisler
|
r8350 | CVSROOT=`pwd` | ||
export CVSROOT | ||||
CVS_OPTIONS=-f | ||||
export CVS_OPTIONS | ||||
Frank Kingswood
|
r6690 | cd .. | ||
cvscall -q -d "$CVSROOT" init | ||||
echo % Create a new project | ||||
mkdir src | ||||
cd src | ||||
Frank Kingswood
|
r7465 | echo "1" > a | ||
echo "1" > b | ||||
cvscall import -m "init" src v0 r0 | sort | ||||
Frank Kingswood
|
r6690 | cd .. | ||
cvscall co src | ||||
cd src | ||||
echo % Branch the project | ||||
cvscall tag -b BRANCH | ||||
Mads Kiilerich
|
r7812 | cvscall up -r BRANCH > /dev/null | ||
Frank Kingswood
|
r6690 | |||
echo % Modify file a, then b, then a | ||||
echo "2" > a | ||||
cvscall ci -m "mod a" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' | ||||
echo "2" > b | ||||
cvscall ci -m "mod b" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' | ||||
echo "3" > a | ||||
cvscall ci -m "mod a again" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' | ||||
echo % Convert | ||||
cd .. | ||||
hg convert src | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' | ||||
echo % Check the result | ||||
Martin Geisler
|
r8523 | hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n' | ||
Henrik Stuart
|
r8756 | |||
echo "" | ||||
echo % issue 1447 | ||||
cvscall() | ||||
{ | ||||
echo cvs -f "$@" | ||||
cvs -f "$@" | ||||
sleep 1 | ||||
} | ||||
cvsci() | ||||
{ | ||||
echo cvs -f ci "$@" | ||||
cvs -f ci "$@" >/dev/null 2>&1 | ||||
sleep 1 | ||||
} | ||||
cvscall -Q -d `pwd`/cvsmaster2 init >/dev/null 2>&1 | ||||
cd cvsmaster2 | ||||
David Champion
|
r9040 | CVSROOT=`pwd` | ||
export CVSROOT | ||||
Henrik Stuart
|
r8756 | 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" | ||||
echo foo > b.txt | ||||
cvsci -m "Fix b on HEAD" | ||||
echo bar > a.txt | ||||
cvsci -m "Small fix in a on HEAD" | ||||
cvscall -Q tag -b BRANCH | ||||
cvscall -Q up -P -rBRANCH | ||||
echo baz > b.txt | ||||
cvsci -m "Change on BRANCH in b" | ||||
hg debugcvsps -x --parents foo | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/' | ||||
cd .. | ||||