view tests/fixtures/copyafterclose.sh @ 1450:3c4fbf59e503

svnmeta: do not add instance references to the class object This is part of a bigger plan to prevent a fd leak by making sure the sqlite connection object is garbage collected. Usually this is not a very serious issue but the testing framework will run all tests in a single process by default. The fd leak will make tests fail on systems with a low RLIMIT_NOFILE. Previously, when we are adding new properties to the SVNMeta class, we bind the current instance in the closure, which essentially prevents any SVNMeta instances from being garbage collected (and its state like revmap). This patch changed "self" from the closure one to the lambda argument to address the issue.
author Jun Wu <quark@fb.com>
date Fri, 27 May 2016 01:42:55 +0100
parents ba8485b9fee0
children
line wrap: on
line source

#!/bin/sh

rm -rf temp
mkdir temp
cd temp
svnadmin create repo
repo=file://`pwd`/repo
svn co $repo wc
cd wc
mkdir branches trunk tags
svn add *
svn ci -m 'btt'

cd trunk
echo trunk1 > file
mkdir dir
echo trunk1 > dir/file
svn add file dir
svn ci -m 'Add file and dir.'
cd ..
svn up

svn cp trunk branches/test
svn ci -m 'Branch.'
svn up

cd branches/test/
echo branch1 > file
echo branch1 > dir/file
svn ci -m 'edit on branch.'
cd ../../
svn up

cd trunk
echo trunk2 > file
echo trunk2 > dir/file
svn ci -m 'edit on trunk'
cd ..
svn up

svn rm trunk
svn ci -m 'Close trunk.'
svn up

cd branches/test
svn rm file
svn cp $repo/trunk/file@5 file
svn rm dir
svn cp $repo/trunk/dir@5 dir
svn ci -m 'copy from trunk before close'
cd ../..
svn up

cd ../..
svnadmin dump temp/repo > copyafterclose.svndump
echo
echo 'Complete.'
echo 'You probably want to clean up temp now.'
echo 'Dump in copyafterclose.svndump'
exit 0