Mercurial > hgsubversion
view tests/fixtures/branch_create_with_dir_delete.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 | c0063328587f |
children |
line wrap: on
line source
#!/bin/sh mkdir temp cd temp svnadmin create repo svn co file://`pwd`/repo wc cd wc mkdir branches trunk tags svn add * svn ci -m 'btt' cd trunk for a in alpha beta gamma delta ; do echo $a > $a svn add $a done svn ci -m 'Add files.' mkdir al echo foo > al/foo svn add al svn ci -m 'add directory al to delete on the branch' cd .. svn up svn cp trunk branches/dev_branch svn rm branches/dev_branch/al svn ci -m 'branch' cd branches/dev_branch svn rm delta echo narf > alpha echo iota > iota svn add iota svn ci -m 'branch changes' cd ../../../.. svnadmin dump temp/repo > branch_create_with_dir_delete.svndump echo echo 'Complete.' echo 'You probably want to clean up temp now.' echo 'Dump in branch_create_with_dir_delete.svndump' exit 0