view tests/fixtures/simple_branch.sh @ 889:7a98fbadcae9

revsets: huge speedups for fromsvn and svnrev I have a hgsubversion repo that contains over 300,000 commits. In that repo, this patch improves performance as follows: hg --time log -r 'first(fromsvn())' Before: 40.3 sec After: 0.8 sec hg --time log -r 'svnrev(350000)' Before: 40.3 sec After: 0.1 sec Note: the performance of these revset implementations is very sensitive to doing as little work as possible per line of the rev_map file. I originally attempted to hide the file format details by hoisting the parsing of each line up into RevMap.readmapfile, but the current less abstract code is dramatically (10x or more) faster. If the revmap file is missing, we error out and print a message describing what to do.
author Bryan O'Sullivan <bryano@fb.com>
date Sat, 12 May 2012 05:38:34 -0700
parents bb00f7ca5b8c
children
line wrap: on
line source

#!/bin/sh
#
# Generate simple_branch.svndump
#

mkdir temp
cd temp

mkdir project-orig
cd project-orig
mkdir trunk branches tags
cd ..

svnadmin create testrepo
svnurl=file://`pwd`/testrepo
svn import --username durin project-orig $svnurl -m "Empty dirs."

svn co $svnurl project
cd project
echo 'file: alpha' > trunk/alpha
svn add trunk/alpha
svn ci --username durin -m 'Add alpha'
echo 'Data of beta' > trunk/beta
svn add trunk/beta
svn ci --username durin -m 'Add beta'
svn up
svn cp trunk branches/the_branch
svn ci --username durin -m 'Make a branch'
cd ..

svnadmin dump testrepo > ../simple_branch.svndump