Mercurial > hgsubversion
view tests/fixtures/replace_trunk.sh @ 762:c31a1f92e1c6
svnexternals: preliminary support for subrepos based externals
At this point, only pulling externals definitions into .hgsub and .hgsubstate
is supported. One difference between subrepos and svn:externals is the former
separate the source definition and target revision in two files, while
svn:externals definitions contain both. To handle this, the svn:externals
revision references is replaced with a {REV} placeholder and stored in .hgsub,
prefixed with the external base directory separated with a ':', while the
revision is extracted in .hgsubstate.
For instance, the following external:
-r3 ^/externals/proj2@2 deps/proj2
Becomes:
(.hgsub)
deps/proj2 = [hgsubversion] :-r{REV} ^/externals/proj2@2 deps/proj2
(.hgsubstate)
3 deps/proj2
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Thu, 25 Nov 2010 21:55:21 +0100 |
parents | 22162380c4b9 |
children |
line wrap: on
line source
#!/bin/sh RSVN="`pwd`/rsvn.py" export PATH=/bin:/usr/bin mkdir temp cd temp svnadmin create repo svn co file://`pwd`/repo wc cd wc mkdir trunk branches cd trunk for a in alpha beta gamma ; do echo $a > $a done cd .. svn add * svn ci -m 'initial' svn up svn cp trunk branches/test svn ci -m 'branch' svn up echo foo >> branches/test/alpha svn ci -m 'Mod.' cd .. echo rdelete trunk > tmp echo rcopy branches/test trunk >> tmp python $RSVN --message=blah --username=evil `pwd`/repo < tmp svnadmin dump repo > ../replace_trunk_with_branch.svndump