##// END OF EJS Templates
issue1577: fix broken test by assuming less about CVS output....
issue1577: fix broken test by assuming less about CVS output. Specifically, output of "cvs ci" varies unpredictably across CVS versions, so any test that includes the output of "cvs ci" is doomed to fail some of the time. This fixes that by discarding the output of "cvs ci".

File last commit:

r7812:18048153 default
r8081:6c3b8132 default
Show More
test-convert-cvs
103 lines | 2.4 KiB | text/plain | TextLexer
#!/bin/sh
"$TESTDIR/hghave" cvs cvsps || exit 80
cvscall()
{
cvs -f $@
}
hgcat()
{
hg --cwd src-hg cat -r tip "$1"
}
# Test legacy configuration with external cvsps
echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo "graphlog = " >> $HGRCPATH
echo "[convert]" >> $HGRCPATH
echo "cvsps=cvsps -A -u --cvs-direct -q" >> $HGRCPATH
echo % create cvs repository
mkdir cvsrepo
cd cvsrepo
export CVSROOT=`pwd`
export CVS_OPTIONS=-f
cd ..
cvscall -q -d "$CVSROOT" init
echo % create source directory
mkdir src-temp
cd src-temp
echo a > a
mkdir b
cd b
echo c > c
cd ..
echo % import source directory
cvscall -q import -m import src INITIAL start
cd ..
echo % checkout source directory
cvscall -q checkout src
echo % commit a new revision changing b/c
cd src
sleep 1
echo c >> b/c
cvscall -q commit -mci0 . | grep '<--' |\
sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'
cd ..
echo % convert fresh repo
hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
hgcat a
hgcat b/c
echo % convert fresh repo with --filemap
echo include b/c > filemap
hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
hgcat b/c
hg -R src-filemap log --template '#rev# #desc# files: #files#\n'
echo % commit new file revisions
cd src
echo a >> a
echo c >> b/c
cvscall -q commit -mci1 . | grep '<--' |\
sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'
cd ..
echo % convert again
hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
hgcat a
hgcat b/c
echo % convert again with --filemap
hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
hgcat b/c
hg -R src-filemap log --template '#rev# #desc# files: #files#\n'
echo % commit branch
cd src
cvs -q update -r1.1 b/c
cvs -q tag -b branch
cvs -q update -r branch > /dev/null
echo d >> b/c
cvs -q commit -mci2 . | grep '<--' |\
sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g'
cd ..
echo % convert again
hg convert src src-hg | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
hgcat a
hgcat b/c
echo % convert again with --filemap
hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g'
hgcat b/c
hg -R src-filemap log --template '#rev# #desc# files: #files#\n'
hg -R src-hg glog --template '#rev# (#branches#) #desc# files: #files#\n'