test-convert-svn-move
70 lines
| 1.6 KiB
| text/plain
|
TextLexer
/ tests / test-convert-svn-move
Patrick Mezard
|
r5955 | #!/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 | ||||
Patrick Mezard
|
r7475 | cat "$TESTDIR/svn/move.svndump" | svnadmin load svn-repo > /dev/null | ||
Patrick Mezard
|
r5955 | |||
svnpath=`pwd | fix_path` | ||||
# SVN wants all paths to start with a slash. Unfortunately, | ||||
# Windows ones don't. Handle that. | ||||
Mads Kiilerich
|
r10775 | expr "$svnpath" : "\/" > /dev/null | ||
Patrick Mezard
|
r5955 | if [ $? -ne 0 ]; then | ||
Mads Kiilerich
|
r10775 | svnpath="/$svnpath" | ||
Patrick Mezard
|
r5955 | fi | ||
Mads Kiilerich
|
r10775 | svnurl="file://$svnpath/svn-repo" | ||
Patrick Mezard
|
r5955 | |||
echo % convert trunk and branches | ||||
Mads Kiilerich
|
r10775 | hg convert --datesort "$svnurl"/subproject A-hg | ||
Patrick Mezard
|
r5955 | |||
cd A-hg | ||||
Martin Geisler
|
r8523 | hg glog --template '{rev} {desc|firstline} files: {files}\n' | ||
Patrick Mezard
|
r11124 | echo '% check move copy records' | ||
hg st --rev 12:13 --copies | ||||
echo '% check branches' | ||||
Patrick Mezard
|
r5955 | hg branches | sed 's/:.*/:/' | ||
cd .. | ||||
Patrick Mezard
|
r11128 | |||
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 .. | ||||
Patrick Mezard
|
r11135 | |||
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 | ||||