#!/bin/sh

# Make a new branch and start working on it.  This assumes you have a
# relatively recent version of trunk checked out.

PROJECT="$1"
BRANCH="$2"

TRUNKPATH="$HOME/Projects/svn/$PROJECT/trunk"
BRANCHPATH="$HOME/Projects/svn/$PROJECT/branches/$USER/$BRANCH"

cd $TRUNKPATH

SVNROOT=`svn info | grep 'URL: ' | sed -e 's/URL: //' | sed -e 's/svn\/.*/svn/'`
SVNREPO="$SVNROOT/$PROJECT"
TRUNKURL="$SVNREPO/trunk"
BRANCHURL="$SVNREPO/branches/$USER/$BRANCH"

svn up
svn mkdir "$SVNREPO/branches/$USER" -m "Making (missing) user directory."
svn cp "$TRUNKURL" "$BRANCHURL" -m "Branching to $BRANCH."

mkdir -p "$HOME/Projects/svn/$PROJECT/branches/$USER"

if [ -d "$BRANCHPATH" ]
then
    echo "Deleting $BRANCHPATH"
    rm -fr "$BRANCHPATH"
fi

cp -a "$TRUNKPATH" "$BRANCHPATH"
cd "$BRANCHPATH"

svn switch "$BRANCHURL"

chbranch "$PROJECT" "$USER/$BRANCH"
