Mercurial > hgsubversion
view tests/fixtures/copyafterclose.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 | 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