view tests/fixtures/binaryfiles.sh @ 1251:46cec117dda2

maps.RevMap: disable GC while loading the revmap The revmap load process creates lots of tiny objects. With just the bare minimum Mercurial runtime, loading a million-file revmap goes from 6.83 seconds to 6.28. For longer running processes (e.g. hg push a series of changes) the difference will probably be dramatic.
author Siddharth Agarwal <sid0@fb.com>
date Sun, 02 Nov 2014 02:01:05 -0800
parents f1919e1c35bf
children
line wrap: on
line source

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

mkdir temp
cd temp

mkdir project-orig
cd project-orig
mkdir trunk
cd ..

svnadmin create testrepo
svnurl=file://`pwd`/testrepo
svn import project-orig $svnurl -m "init project"

svn co $svnurl project
cd project/trunk
# Add a regular binary file, and an unflagged one
python -c "file('binary1', 'wb').write('a\0\0\nb\0b')"
python -c "file('binary2', 'wb').write('b\0\0\nc\0d')"
svn add binary1 binary2
svn propset svn:mime-type application/octet-stream binary1
svn propdel svn:mime-type binary2
svn ci -m 'add binaries'
# Update them
python -c "file('binary1', 'wb').write('a\0\0\nc\0d')"
python -c "file('binary2', 'wb').write('b\0\0\0\nd\0e')"
svn ci -m 'change binaries'
# Remove them
svn rm binary1 binary2
svn ci -m 'remove binaries'
cd ../..

svnadmin dump testrepo > ../binaryfiles.svndump