Mercurial > hgsubversion
view tests/fixtures/truncatedhistory.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 | 3b60f223893a |
children |
line wrap: on
line source
#!/bin/sh # # Generate truncatedhistory.svndump # mkdir temp cd temp mkdir project-orig cd project-orig mkdir project1 mkdir project2 cd .. svnadmin create testrepo svnurl=file://`pwd`/testrepo svn import project-orig $svnurl -m "init project" svn co $svnurl project # Make a single revision in trunk cd project/project1 echo a > a svn add a svn ci -m "add a" cd .. svn up # Rename the project svn mv project1 project2/trunk svn ci -m "rename project1" cd project2/trunk echo b > b svn add b svn ci -m "add b" cd ../../.. svnadmin dump testrepo > ../truncatedhistory.svndump