view tests/fixtures/mergeexternals.sh @ 1539:0ebcc5bbf692

tests: when making a `memctx`, make sure to use a single repo instance The way self.repo is dynamic produces bad lock behavior because the `context.memctx` ends up with a different instance than self in `localrepo.commitctx`, which means the callbacks in the `memctx` get an unlocked repo instance. This causes lock warning failures. When it's not a code freeze for core, we should probably: * Make lock failures hard, not just warnings * Stop holding a repo reference in memctx, or otherwise check it's the same instance as `self` during `localrepo.commitctx` That's my best guess based on the (very hard to debug) test failures here.
author Augie Fackler <raf@durin42.com>
date Sat, 28 Oct 2017 21:34:52 -0400
parents ba65c0b01d4f
children
line wrap: on
line source

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

mkdir temp
cd temp

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

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

svn co $svnurl project
cd project/trunk
mkdir d1
echo a > d1/a
mkdir d2
echo b > d2/b
mkdir -p common/ext
echo c > common/ext/c
svn add d1 d2 common
svn ci -m addfiles
svn up
svn propset svn:externals '^/trunk/common/ext ext' d1
svn propset svn:externals '^/trunk/common/ext ext' d2
svn ci -m addexternals
cd ..
svn up
svn cp trunk branches/branch
cd branches
svn ci -m addbranch
cd branch
mkdir d3
echo d > d3/d
svn add d3
svn propset svn:externals '^/trunk/common/ext ext3' d3
svn ci -m touchbranch
cd ../../trunk
svn merge '^/branches/branch'
svn up
svn ci -m 'merge'
cd ../..

svnadmin dump testrepo > ../mergeexternals.svndump