Mercurial > hgsubversion
view tests/fixtures/pushexternals.sh @ 1340:db9d85618d3d
wrapper: delay marker creation in push
Before this patch we were creating obsolescence markers when pulling the
changesets from subversion. The counterpart stripping logic (when obsolescence
is not available) was done after pushing everything.
This patch moves the marker creation to the end of the push, to:
1) Make the code more readable (the marker creation and the stripping should
be in the same place)
2) Fix a behavior issue with inhibit(evolve) (see below)
With inhibit + hgsubversion enabled. When pushing to subversion we were
creating markers as expected but inhibiting the marker on the commit that was
the parent of the working copy making it therefore visible.
By delaying the marker creation to after the update we avoid this issue.
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Wed, 08 Jul 2015 13:30:16 -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