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