Mercurial > hg
view tests/test-convert-cvs @ 5920:5df7cb799baf
CVS convert: Find correct parent for new branch (issue704)
Previously the parent was determined by the last changeset where the branched
file was changed even if the branch is based on an earlier revision.
Fix written by mpm.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Tue, 22 Jan 2008 00:16:50 +0100 |
parents | badf5711bd86 |
children | 549a7ebe1607 |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" cvs cvsps || exit 80 echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo % create cvs repository mkdir cvsrepo cd cvsrepo export CVSROOT=`pwd` cd .. cvs -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 cvs -q import -m import src INITIAL start cd .. echo % checkout source directory cvs -q checkout src echo % commit a new revision changing b/c cd src echo c >> b/c cvs -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' cat src-hg/a cat src-hg/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' cat src-hg/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 cvs -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' cat src-hg/a cat src-hg/b/c echo % convert again with --filemap hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' cat src-hg/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 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' cat src-hg/a cat src-hg/b/c echo % convert again with --filemap hg convert --filemap filemap src src-filemap | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' cat src-hg/b/c hg -R src-filemap log --template '#rev# #desc# files: #files#\n' echo "graphlog = " >> $HGRCPATH hg -R src-hg glog --template '#rev# (#branches#) #desc# files: #files#\n'