Mercurial > hgsubversion
view tests/fixtures/pushexternals.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 | 2412800b1258 |
children |
line wrap: on
line source
#!/bin/sh # # Generate pushexternals.svndump # mkdir temp cd temp mkdir project-orig cd project-orig mkdir trunk mkdir externals cd .. svnadmin create testrepo svnurl=file://`pwd`/testrepo svn import project-orig $svnurl -m "init project" svn co $svnurl project cd project/externals mkdir project1 echo a > project1/a svn add project1 mkdir project2 echo a > project2/b svn add project2 svn ci -m "configure externals projects" cd ../trunk echo a > a # dir is used to set svn:externals on an already existing directory mkdir dir svn add a dir svn ci -m "add a and dir" svn rm a svn ci -m "remove a" cd ../.. svnadmin dump testrepo > ../pushexternals.svndump