view tests/fixtures/binaryfiles.sh @ 1490:bc73b80baf98

SqliteRevMap: wait indefinitely for database lock Python sqlite has 5 seconds timeout by default, which means if a writer holds the lock, and the second writer will error out after 5 seconds. In our use-case, it makes sense to just wait. However, sqlite does not support waiting forever (see sqlite3_busy_timeout). Therefore use a while loop to workaround.
author Jun Wu <quark@fb.com>
date Tue, 19 Jul 2016 20:34:11 +0100
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