tests/svn/svndump-move.sh
author Dirkjan Ochtman <dirkjan@ochtman.nl>
Fri, 13 Feb 2009 11:32:33 +0100
changeset 7757 af6a63438a8a
parent 7475 90d8dfb481e7
child 8884 8b603c7c808e
permissions -rwxr-xr-x
identify: have consistent output for local repositories Also, add some extensive testing for it (hardly any in the suite so far).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7475
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
#
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
# Use this script to generate move.svndump
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
#
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     5
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     6
mkdir temp
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
cd temp
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
mkdir project-orig
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    10
cd project-orig
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
mkdir trunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
echo a > trunk/a
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    13
mkdir trunk/d1
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    14
mkdir trunk/d2
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    15
echo b > trunk/d1/b
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    16
echo c > trunk/d1/c
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    17
echo d > trunk/d2/d
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    18
cd ..
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    19
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    20
svnadmin create svn-repo
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    21
svnurl=file://`pwd`/svn-repo
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    22
svn import project-orig $svnurl -m "init projA"
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    23
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    24
svn co $svnurl project
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    25
cd project
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    26
# Build a module renaming chain which used to confuse the converter.
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    27
# Update svn repository
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    28
echo a >> trunk/a
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    29
echo c >> trunk/d1/c
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    30
svn ci -m commitbeforemove
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    31
svn mv $svnurl/trunk $svnurl/subproject -m movedtrunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    32
svn up
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    33
mkdir subproject/trunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    34
svn add subproject/trunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    35
svn ci -m createtrunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    36
mkdir subproject/branches
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    37
svn add subproject/branches
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    38
svn ci -m createbranches
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    39
svn mv $svnurl/subproject/d1 $svnurl/subproject/trunk/d1 -m moved1
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    40
svn mv $svnurl/subproject/d2 $svnurl/subproject/trunk/d2 -m moved2
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    41
svn up
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    42
echo b >> subproject/trunk/d1/b
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    43
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    44
svn rm subproject/trunk/d2
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    45
svn ci -m "changeb and rm d2"
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    46
svn mv $svnurl/subproject/trunk/d1 $svnurl/subproject/branches/d1 -m moved1again
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    47
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    48
if svn help copy | grep 'SRC\[@REV\]' > /dev/null 2>&1; then
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    49
    # SVN >= 1.5 replaced the -r REV syntax with @REV
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    50
    # Copy a file from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    51
    svn copy $svnurl/subproject/trunk/d2/d@7 $svnurl/subproject/trunk -m copyfilefrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    52
    # Copy a directory from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    53
    svn copy $svnurl/subproject/trunk/d2@7 $svnurl/subproject/trunk -m copydirfrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    54
else
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    55
    # Copy a file from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    56
    svn copy -r 7 $svnurl/subproject/trunk/d2/d $svnurl/subproject/trunk -m copyfilefrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    57
    # Copy a directory from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    58
    svn copy -r 7 $svnurl/subproject/trunk/d2 $svnurl/subproject/trunk -m copydirfrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    59
fi
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    60
cd ..
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    61
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    62
svnadmin dump svn-repo > ../move.svndump