view tests/fixtures/emptyrepo2.sh @ 1475:ea4d6142c6d9

maps: do not ask sqlite for row count "SELECT COUNT(1) FROM x" is not O(1) for sqlite and can be slow on large tables. This patch changes the count to be backed by a file instead. The change exposes a risk that the number may become inaccurate, if __setitem__ is called with a same key multiple times. But we don't do that during pull, and only use __len__ to calculate how many revisions pulled, or test if the map is empty. So it would be fine.
author Jun Wu <quark@fb.com>
date Thu, 23 Jun 2016 10:46:07 +0100
parents f9014e28721b
children
line wrap: on
line source

#!/bin/sh
#
# Create emptyrepo2.svndump
#
# The generated repository contains a sequence of empty revisions
# created with a combination of svnsync and filtering

mkdir temp
cd temp

mkdir project-orig
cd project-orig
mkdir -p sub/trunk other
echo a > other/a
cd ..

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

svn co $svnurl project
cd project
echo a >> other/a
svn ci -m othera
echo a >> other/a
svn ci -m othera2
echo b > sub/trunk/a
svn add sub/trunk/a
svn ci -m adda
cd ..

svnadmin create testrepo2
cat > testrepo2/hooks/pre-revprop-change <<EOF
#!/bin/sh
exit 0
EOF
chmod +x testrepo2/hooks/pre-revprop-change

svnurl2=file://`pwd`/testrepo2
svnsync init --username svnsync $svnurl2 $svnurl/sub
svnsync sync $svnurl2

svnadmin dump testrepo2 > ../emptyrepo2.svndump