Mercurial > hg
view tests/test-convert-svn-move @ 12261:fac20d9b7cf2
merge with stable
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sun, 12 Sep 2010 14:00:40 +0200 |
parents | 73a4ed3bfef8 |
children |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" svn svn-bindings || exit 80 fix_path() { tr '\\' / } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "hgext.graphlog =" >> $HGRCPATH svnadmin create svn-repo cat "$TESTDIR/svn/move.svndump" | svnadmin load svn-repo > /dev/null svnpath=`pwd | fix_path` # SVN wants all paths to start with a slash. Unfortunately, # Windows ones don't. Handle that. expr "$svnpath" : "\/" > /dev/null if [ $? -ne 0 ]; then svnpath="/$svnpath" fi svnurl="file://$svnpath/svn-repo" echo % convert trunk and branches hg convert --datesort "$svnurl"/subproject A-hg cd A-hg hg glog --template '{rev} {desc|firstline} files: {files}\n' echo '% check move copy records' hg st --rev 12:13 --copies echo '% check branches' hg branches | sed 's/:.*/:/' cd .. mkdir test-replace cd test-replace svnadmin create svn-repo cat "$TESTDIR/svn/replace.svndump" | svnadmin load svn-repo > /dev/null echo '% convert files being replaced by directories' hg convert svn-repo hg-repo cd hg-repo echo '% manifest before' hg -v manifest -r 1 echo '% manifest after clobber1' hg -v manifest -r 2 echo '% manifest after clobber2' hg -v manifest -r 3 echo '% try updating' hg up -qC default cd .. echo '% test convert progress bar' echo "progress=" >> $HGRCPATH echo "[progress]" >> $HGRCPATH echo "assume-tty=1" >> $HGRCPATH echo "delay=0" >> $HGRCPATH echo "refresh=0" >> $HGRCPATH cat > filtercr.py <<EOF import sys, re for line in sys.stdin: line = re.sub(r'\r+[^\n]', lambda m: '\n' + m.group()[-1:], line) sys.stdout.write(line) EOF hg convert svn-repo hg-progress 2>&1 | python filtercr.py