Mercurial > hg
view tests/test-convert-cvs @ 7971:6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
author | Vsevolod Solovyov <vsevolod.solovyov@gmail.com> |
---|---|
date | Tue, 24 Mar 2009 23:28:55 +0000 |
parents | 18048153fd4e |
children | 1f0f01bc86a5 |
line wrap: on
line source
#!/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'