#!/bin/sh set -e cwd=`pwd` basename=`basename $0` scratch_area="`echo $basename | sed -e s/\.sh$//`" repos=$scratch_area/repos trunk=$scratch_area/trunk branch=$scratch_area/branch trunk_url=file:///$cwd/$repos/trunk branch_url=file:///$cwd/$repos/branch set -x rm -rf $scratch_area mkdir -p $scratch_area mkdir -p $trunk echo alpha > $trunk/alpha echo beta > $trunk/beta mkdir $trunk/gamma echo delta > $trunk/gamma/delta mkdir $trunk/epsilon echo zeta > $trunk/epsilon/zeta svnadmin create $cwd/$repos svn import $trunk $trunk_url -m "importing project tree" svn copy $trunk_url $branch_url -m "creating branch" rm -rf $trunk svn checkout $trunk_url $trunk svn checkout $trunk_url ${trunk}2 svn checkout $branch_url $branch svn ps svn:externals '^/branch/epsilon ext' $trunk svn commit -m 'setting external' $trunk svn update $trunk svn update ${trunk}2 echo a > $trunk/alpha echo a > $trunk/ext/zeta svn commit -m 'change alpha' $trunk svn commit -m 'change zeta' $trunk/ext echo b > ${trunk}2/alpha echo b > ${trunk}2/ext/zeta svn up --accept=postpone ${trunk}2 svn st ${trunk}2