Mercurial > hgsubversion
view tests/fixtures/most-recent-is-edit-tag.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 | 63cb630d667d |
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 mkdir tags/versions mkdir tags/blah 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.' cd .. svn up svn cp trunk branches/dev_branch 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 ../.. svn up svn cp branches/dev_branch tags/some-tag svn ci -m 'Make a tag.' svn up echo foo > tags/some-tag/alpha svn ci -m 'edit that tag' cd ../.. svnadmin dump temp/repo > most-recent-is-edit-tag.svndump echo echo 'Complete.' echo 'You probably want to clean up temp now.' echo 'Dump in most-recent-is-edit-tag.svndump' exit 0