#!/bin/sh

### MUST CONFIGURE ###

SVN_PARENT_URL=http://svn.fusion:8080
REPOSITORIES=/Users/rschmidt/subversion/repositories
WORKING_COPIES=/tmp
WWW_USER=www
WWW_GROUP=www

### CAN CONFIGURE ###

TEST_REPO_WITHOUT_SPACES=foobarrepo$$
TEST_WC=foobarwc$$
TEST_REPO_WITH_SPACES='foobar repo'$$
TEST_REPO_WITH_SPACES_ENCODED='foobar%20repo'$$

### END CONFIGURATION ###

echo "--> Making repository '$TEST_REPO_WITHOUT_SPACES'"
cd $REPOSITORIES
svnadmin create $TEST_REPO_WITHOUT_SPACES

echo "--> Adding pre-revprop-change hook script"
echo '#!/bin/sh' > $TEST_REPO_WITHOUT_SPACES/hooks/pre-revprop-change
echo 'exit 0' >> $TEST_REPO_WITHOUT_SPACES/hooks/pre-revprop-change
chmod 755 $TEST_REPO_WITHOUT_SPACES/hooks/pre-revprop-change
sudo chown -R $WWW_USER:$WWW_GROUP $TEST_REPO_WITHOUT_SPACES

echo "--> Checking out working copy"
cd $WORKING_COPIES
svn co $SVN_PARENT_URL/$TEST_REPO_WITHOUT_SPACES $TEST_WC

echo "--> Adding a revision to the repository"
touch $TEST_WC/foo
svn add $TEST_WC/foo
svn ci -m '' $TEST_WC

echo "--> Removing working copy"
rm -rf $TEST_WC

echo "--> Changing the log message"
svn propset svn:log --revprop -r 1 'foo' $SVN_PARENT_URL/$TEST_REPO_WITHOUT_SPACES

echo "--> Renaming repository '$TEST_REPO_WITHOUT_SPACES' to '$TEST_REPO_WITH_SPACES'"
cd $REPOSITORIES
mv $TEST_REPO_WITHOUT_SPACES "$TEST_REPO_WITH_SPACES"

echo "--> Changing the log message"
svn propset svn:log --revprop -r 1 'bar' $SVN_PARENT_URL/$TEST_REPO_WITH_SPACES_ENCODED

echo "--> Removing repository '$TEST_REPO_WITH_SPACES'"
sudo rm -rf "$TEST_REPO_WITH_SPACES"


