Mercurial > hg
view tests/test-convert-cvs @ 10609:5ee3faa7c563
Merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 07 Mar 2010 22:04:35 -0600 |
parents | 6109a02c682b |
children | b4b16e90712f |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" cvs || exit 80 cvscall() { cvs -f "$@" } hgcat() { hg --cwd src-hg cat -r tip "$1" } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH cat > cvshooks.py <<EOF def cvslog(ui,repo,hooktype,log): print "%s hook: %d entries"%(hooktype,len(log)) def cvschangesets(ui,repo,hooktype,changesets): print "%s hook: %d changesets"%(hooktype,len(changesets)) EOF hookpath=`pwd` echo "[hooks]" >> $HGRCPATH echo "cvslog=python:$hookpath/cvshooks.py:cvslog" >> $HGRCPATH echo "cvschangesets=python:$hookpath/cvshooks.py:cvschangesets" >> $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 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 a new revision with funny log message cd src sleep 1 echo e >> a cvscall -q commit -m'funny ---------------------------- log message' . | 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' echo "graphlog = " >> $HGRCPATH hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n' echo % testing debugcvsps cd src hg debugcvsps | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/'