tests/test-convert-svn-move
author David Soria Parra <dsp@php.net>
Sun, 20 Jun 2010 12:26:48 +0200
branchstable
changeset 11431 cac256790aa4
parent 11135 73a4ed3bfef8
permissions -rwxr-xr-x
bookmarks: Add -B option to incoming/outgoing to compare bookmarks We add a -B/--bookmarks option to hg incmoing and hg outgoing. If the option is passed we compare bookmarks instead of changesets. This can be used to see which bookmarks do not exists on the remote site.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5955
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
"$TESTDIR/hghave" svn svn-bindings || exit 80
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     5
fix_path()
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     6
{
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
    tr '\\' /
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
}
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    10
echo "[extensions]" >> $HGRCPATH
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
echo "convert = " >> $HGRCPATH
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
echo "hgext.graphlog =" >> $HGRCPATH
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    13
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    14
svnadmin create svn-repo
7475
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents: 6851
diff changeset
    15
cat "$TESTDIR/svn/move.svndump" | svnadmin load svn-repo > /dev/null
5955
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    16
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    17
svnpath=`pwd | fix_path`
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    18
# SVN wants all paths to start with a slash. Unfortunately,
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    19
# Windows ones don't. Handle that.
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 8523
diff changeset
    20
expr "$svnpath" : "\/" > /dev/null
5955
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    21
if [ $? -ne 0 ]; then
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 8523
diff changeset
    22
    svnpath="/$svnpath"
5955
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    23
fi
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 8523
diff changeset
    24
svnurl="file://$svnpath/svn-repo"
5955
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    25
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    26
echo % convert trunk and branches
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 8523
diff changeset
    27
hg convert --datesort "$svnurl"/subproject A-hg
5955
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    28
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    29
cd A-hg
8523
5b7da468531b tests: replace #...# syntax with {...}
Martin Geisler <mg@lazybytes.net>
parents: 7475
diff changeset
    30
hg glog --template '{rev} {desc|firstline} files: {files}\n'
11124
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 10775
diff changeset
    31
echo '% check move copy records'
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 10775
diff changeset
    32
hg st --rev 12:13 --copies
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 10775
diff changeset
    33
echo '% check branches'
5955
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    34
hg branches | sed 's/:.*/:/'
c4496b7c10ce convert: fix svn_source.latest()
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    35
cd ..
11128
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    36
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    37
mkdir test-replace
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    38
cd test-replace
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    39
svnadmin create svn-repo
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    40
cat "$TESTDIR/svn/replace.svndump" | svnadmin load svn-repo > /dev/null
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    41
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    42
echo '% convert files being replaced by directories'
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    43
hg convert svn-repo hg-repo
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    44
cd hg-repo
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    45
echo '% manifest before'
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    46
hg -v manifest -r 1
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    47
echo '% manifest after clobber1'
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    48
hg -v manifest -r 2
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    49
echo '% manifest after clobber2'
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    50
hg -v manifest -r 3
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    51
echo '% try updating'
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    52
hg up -qC default
a9b427b5821e convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents: 11124
diff changeset
    53
cd ..
11135
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    54
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    55
echo '% test convert progress bar'
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    56
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    57
echo "progress=" >> $HGRCPATH
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    58
echo "[progress]" >> $HGRCPATH
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    59
echo "assume-tty=1" >> $HGRCPATH
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    60
echo "delay=0" >> $HGRCPATH
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    61
echo "refresh=0" >> $HGRCPATH
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    62
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    63
cat > filtercr.py <<EOF
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    64
import sys, re
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    65
for line in sys.stdin:
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    66
    line = re.sub(r'\r+[^\n]', lambda m: '\n' + m.group()[-1:], line)
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    67
    sys.stdout.write(line)
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    68
EOF
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    69
73a4ed3bfef8 convert: add progress support
Patrick Mezard <pmezard@gmail.com>
parents: 11128
diff changeset
    70
hg convert svn-repo hg-progress 2>&1 | python filtercr.py