##// END OF EJS Templates
convert/git: check status when reading the whole output
convert/git: check status when reading the whole output

File last commit:

r10760:bdb60057 stable
r10986:610f0473 stable
Show More
test-convert-cvs
143 lines | 3.5 KiB | text/plain | TextLexer
Patrick Mezard
convert/cvs: stop supporting external cvsps
r9543 #!/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
Frank Kingswood
convert: implement two hooks in builtin cvsps
r10095 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
Martin Geisler
Merge with stable
r10276 hookpath=`pwd`
Frank Kingswood
convert: implement two hooks in builtin cvsps
r10095
echo "[hooks]" >> $HGRCPATH
echo "cvslog=python:$hookpath/cvshooks.py:cvslog" >> $HGRCPATH
echo "cvschangesets=python:$hookpath/cvshooks.py:cvschangesets" >> $HGRCPATH
Patrick Mezard
convert/cvs: stop supporting external cvsps
r9543 echo % create cvs repository
mkdir cvsrepo
cd cvsrepo
Martin Geisler
Merge with stable
r10276 CVSROOT=`pwd`
Patrick Mezard
convert/cvs: stop supporting external cvsps
r9543 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'
Mathieu Clabaut
convert: teach cvsps to handle . repository (issue1649)...
r10695 echo % 'convert full repository (issue1649)'
cvscall -q -d "$CVSROOT" checkout -d srcfull "." | grep -v CVSROOT
ls srcfull
hg convert srcfull srcfull-hg \
| sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' \
Pierre-Yves David
test-convert-cvs: filter unstable cvs output....
r10760 | grep -v 'log entries' | grep -v 'hook:' \
| grep -v '^[0-3] .*' # filter instable changeset order
Mathieu Clabaut
convert: teach cvsps to handle . repository (issue1649)...
r10695 hg cat -r tip srcfull-hg/src/a
hg cat -r tip srcfull-hg/src/b/c
Patrick Mezard
convert/cvs: stop supporting external cvsps
r9543 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:/'