view tests/fixtures/replace_branch_with_branch.sh @ 1466:16242cec256f

svncommands: unlink revmap file before rebuildmeta Rebuildmeta should success regardless of what the content of revmap is. The recent refactor makes it possible that a corrupted revmap file can prevent "rebuildmeta" from running successfully. This patch fixes the issue by deleting the revmap file before doing actual rebuildmeta so that the revmap object can be created successfully.
author Jun Wu <quark@fb.com>
date Tue, 07 Jun 2016 02:56:55 +0100
parents 2723152c8111
children
line wrap: on
line source

#!/bin/sh

RSVN="`pwd`/rsvn.py"
export PATH=/bin:/usr/bin
mkdir temp
cd temp

svnadmin create repo
svn co file://`pwd`/repo wc

cd wc
mkdir trunk branches
cd trunk
echo a > a
cd ..
svn add *
svn ci -m 'initial'

svn up
svn cp trunk branches/branch1
svn ci -m 'branch1'
svn up
echo b > branches/branch1/b
echo d > branches/branch1/d
mkdir branches/branch1/dir
echo e > branches/branch1/dir/e
echo f > branches/branch1/f
echo g > branches/branch1/g
svn add branches/branch1/b branches/branch1/d branches/branch1/dir \
    branches/branch1/f branches/branch1/g
svn ci -m 'add b to branch1'
svn cp trunk branches/branch2
svn ci -m 'branch2'
svn up
echo c > branches/branch2/c
mkdir branches/branch2/dir
echo e2 > branches/branch2/dir/e
echo f2 > branches/branch2/f
svn add branches/branch2/c branches/branch2/dir branches/branch2/f
svn ci -m 'add c to branch2'
svn up

# Clobber branch1 with branch2
cd ..
cat > clobber.rsvn <<EOF
rdelete branches/branch1
rcopy branches/branch2 branches/branch1
rcopy branches/branch1/d branches/branch1/a
rcopy branches/branch1/dir branches/branch1/dir
rcopy branches/branch1/dir branches/branch1/dir2
rcopy branches/branch1/f branches/branch1/f
rcopy branches/branch1/g branches/branch1/g
EOF

python $RSVN --message=blah --username=evil `pwd`/repo < clobber.rsvn

svnadmin dump repo > ../replace_branch_with_branch.svndump