#!/bin/sh

set -e

REPO1=$HOME/System/Subversion/copy-subtree/repos1
REPO2=$HOME/System/Subversion/copy-subtree/repos2
WC1=$HOME/System/Subversion/copy-subtree/work1
WC2=$HOME/System/Subversion/copy-subtree/work2
DUMP1=/tmp/svn1
DUMPFILTERED=/tmp/svn-filtered
OLDSUBTREE=one

rm -rf $REPO1 $REPO2

svnadmin create $REPO1
svnadmin create $REPO2

if [ ! -d $WC1 ]; then
    mkdir $WC1
fi
cd $WC1
rm -rf * .svn
svn co file://$REPO1 .
mkdir $OLDSUBTREE
svn add $OLDSUBTREE
mkdir $OLDSUBTREE/two
svn add $OLDSUBTREE/two
echo 'main dummy' > $OLDSUBTREE/two/dummy.c
svn add $OLDSUBTREE/two/dummy.c
echo 'main not important' > $OLDSUBTREE/notimportant.c
svn add $OLDSUBTREE/notimportant.c
svn commit -m 'Tree structure'

if [ ! -d $WC2 ]; then
    mkdir $WC2
fi
cd $WC2
rm -rf * .svn
svn co file://$REPO2 .
mkdir baz
svn add baz
mkdir foobar
svn add foobar
svn commit -m 'Tree structure'

cd $WC1
echo 'More' >> $OLDSUBTREE/two/dummy.c
svn commit -m 'Modification'

svnadmin dump $REPO1 > $DUMP1
svndumpfilter include /$OLDSUBTREE/two < $DUMP1 > $DUMPFILTERED

cd $WC2
mkdir foobar/$OLDSUBTREE
svn add foobar/$OLDSUBTREE
svn commit -m 'Add the directory for loading'
svnadmin load  --parent-dir /foobar $REPO2 < $DUMPFILTERED

cd $WC2
svn update



