|
|
#!/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
|
|
|
CVSROOT=`pwd`
|
|
|
export CVSROOT
|
|
|
CVS_OPTIONS=-f
|
|
|
export CVS_OPTIONS
|
|
|
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'
|
|
|
|