view tests/fixtures/mergeexternals.sh @ 922:6b7ac659c855

updatemeta: correctly handle empty metadata When the repo metadata is empty (just created/cloned but not populated yet), there is no lastpulled file or the revmap doesn't have a last entry with hash. Currently "hg svn updatemeta" would crash due to unexpected exception. See issue reported at https://bitbucket.org/durin42/hgsubversion/issue/356/updatemeta-crashes-with-traceback-if-there The fix is to check the existence of lastpulled file and the hash entry in revmap, as part of "hg svn updatemeta" command. When they are not present, do a rebuildmetadata. Also added a new unit test, test_updatemeta.py.
author Jun Fang <junfang@fb.com>
date Mon, 06 Aug 2012 10:35:51 -0700
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