svndump-move.sh
82 lines
| 2.3 KiB
| application/x-sh
|
BashLexer
Patrick Mezard
|
r7475 | #!/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 | |||
Patrick Mezard
|
r8884 | ||
# 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" | |||
Patrick Mezard
|
r11124 | ||
# 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" | |||
Patrick Mezard
|
r7475 | cd .. | |
svnadmin dump svn-repo > ../move.svndump |