mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
9686279212
Apparently some versions of cvs outputs more than other versions. That is however not relevant for these tests.
104 lines
2.4 KiB
Bash
Executable File
104 lines
2.4 KiB
Bash
Executable File
#!/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'
|