view tests/fixtures/replace_trunk.sh @ 637:92f4a4b60696

rebuildmeta: optimize by removing quadratic time usage Calling ctx.children() for revision R visits all revisions greater than R. If I remember my algorithmics right, that's O(n^2). Performing an extra traversal, however, is O(n). A quick benchmark on a repository ~20k revisions: before: 445.27s user 1.10s system after: 7.25s user 0.25s system The resulting `svn' directories are exactly the same, and the tests continue to pass.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Fri, 09 Jul 2010 22:18:27 +0200
parents 22162380c4b9
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
for a in alpha beta gamma ; do
    echo $a > $a
done
cd ..
svn add *
svn ci -m 'initial'

svn up
svn cp trunk branches/test
svn ci -m 'branch'

svn up
echo foo >> branches/test/alpha
svn ci -m 'Mod.'

cd ..
echo rdelete trunk > tmp
echo rcopy branches/test trunk >> tmp
python $RSVN --message=blah --username=evil `pwd`/repo < tmp

svnadmin dump repo > ../replace_trunk_with_branch.svndump