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