diff options
Diffstat (limited to 'tests/svn/svndump-move.sh')
-rwxr-xr-x | tests/svn/svndump-move.sh | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/tests/svn/svndump-move.sh b/tests/svn/svndump-move.sh new file mode 100755 index 0000000..21b8c32 --- /dev/null +++ b/tests/svn/svndump-move.sh @@ -0,0 +1,83 @@ +#!/bin/sh +# +# Use this script to generate move.svndump +# + +mkdir temp +cd temp + +mkdir project-orig +cd project-orig +mkdir trunk +echo a > trunk/a +mkdir trunk/d1 +mkdir trunk/d2 +echo b > trunk/d1/b +echo c > trunk/d1/c +echo d > trunk/d2/d +cd .. + +svnadmin create svn-repo +svnurl=file://`pwd`/svn-repo +svn import project-orig $svnurl -m "init projA" + +svn co $svnurl project +cd project +# Build a module renaming chain which used to confuse the converter. +# Update svn repository +echo a >> trunk/a +echo c >> trunk/d1/c +svn ci -m commitbeforemove +svn mv $svnurl/trunk $svnurl/subproject -m movedtrunk +svn up +mkdir subproject/trunk +svn add subproject/trunk +svn ci -m createtrunk +mkdir subproject/branches +svn add subproject/branches +svn ci -m createbranches +svn mv $svnurl/subproject/d1 $svnurl/subproject/trunk/d1 -m moved1 +svn mv $svnurl/subproject/d2 $svnurl/subproject/trunk/d2 -m moved2 +svn up +echo b >> subproject/trunk/d1/b + +svn rm subproject/trunk/d2 +svn ci -m "changeb and rm d2" +svn mv $svnurl/subproject/trunk/d1 $svnurl/subproject/branches/d1 -m moved1again + +if svn help copy | grep 'SRC\[@REV\]' > /dev/null 2>&1; then + # SVN >= 1.5 replaced the -r REV syntax with @REV + # Copy a file from a past revision + svn copy $svnurl/subproject/trunk/d2/d@7 $svnurl/subproject/trunk -m copyfilefrompast + # Copy a directory from a past revision + svn copy $svnurl/subproject/trunk/d2@7 $svnurl/subproject/trunk -m copydirfrompast +else + # Copy a file from a past revision + svn copy -r 7 $svnurl/subproject/trunk/d2/d $svnurl/subproject/trunk -m copyfilefrompast + # Copy a directory from a past revision + svn copy -r 7 $svnurl/subproject/trunk/d2 $svnurl/subproject/trunk -m copydirfrompast +fi + +# Copy a directory while removing a subdirectory +svn up +mkdir -p subproject/trunk/d3/d31 +echo e > subproject/trunk/d3/d31/e +echo f > subproject/trunk/d3/f +svn add subproject/trunk/d3 +svn ci -m "add d3" +svn copy subproject/trunk/d3 subproject/trunk/d4 +svn rm subproject/trunk/d3/d31 +svn ci -m "copy dir and remove subdir" + +# Test directory moves +svn up +mkdir -p subproject/trunk/d4old +echo g > subproject/trunk/d4old/g +svn add subproject/trunk/d4old +svn ci -m "add d4old" +svn mv subproject/trunk/d4old subproject/trunk/d4new +svn ci -m "rename d4old into d4new" + +cd .. + +svnadmin dump svn-repo > ../move.svndump
\ No newline at end of file |