#!/usr/bin/env bash

# Utility script to semi-automate creation of a branch using committer shell (or, e4Build id)

#project=simrel
project=simrel
#project=jdt

#reponame=eclipse.platform.team
#reponame=eclipse.jdt.debug
#reponame=eclipse.platform.releng
reponame=org.eclipse.simrel.build

startTag=v20140805-2300
#startTag=JunoSR0
#startTag=R4_2
#startTag=R3_8
branchName=Luna_maintenance
#branchName=R4_2_maintenance
#branchName=R3_8_maintenance

source checkForErrorExit.sh

repoprojectroot=/gitroot/$project
gitreponame=$reponame.git
repo=${repoprojectroot}/${gitreponame}

printf "\n\t%s" "Creating branch $branchName from $startTag "
printf "\n\t%s\n\n" "   for repo $repo "

temprepoarea=/shared/simrel/temp/mkbranch
mkdir -p $temprepoarea
checkForErrorExit $? "Could not create temprepoarea!?: $temprepoarea"
cd $temprepoarea
checkForErrorExit $? "Could not cd to temprepoarea!?: $temprepoarea"

git clone $repo
checkForErrorExit $? "Could not create clone repo: $repo"


cd $reponame
checkForErrorExit $? "Could not cd to reponame: $reponame"

git checkout master
checkForErrorExit $? "Error during initial checkout of master"

git fetch
checkForErrorExit $? "Error during fetch"

# TODO: something was going wrong here, last time I tried to use.
# not sure if "silly mistake", or ... what. Perhaps I had startTag wrong,
# BUT, should compare with with "makeBranch" scripts?
git checkout -b $branchName $startTag
checkForErrorExit $? "Could not create local branch ($branchName) from tag ($startTag)"

# The part above could be done by anyone. The following code is where committer access is required
# (which is accomplished by using e4Build id for the general case).

# note: using cd here is where executing this whole thing from a committer shell on server is handy
cd $repo
checkForErrorExit $? "Could not cd to repo: $repo"

git config hooks.allowcreatenottopicbranch true
checkForErrorExit $? "Could not change config hook"

cd -
checkForErrorExit $? "Could not cd back to local repo"

git push origin $branchName
checkForErrorExit $? "Could not push branch to origin"

cd $repo
checkForErrorExit $? "Could not cd to repo: $repo"

git config --unset hooks.allowcreatenottopicbranch
checkForErrorExit $? "Could not unset config hook"

# simple cleanup ...
#rm -fr $temprepoarea
#checkForErrorExit $? "Error while removing temp repo"

printf "\n\t%s" "Completed creating branch $branchName from $startTag "
printf "\n\t%s\n\n" "   for repo $repo "

exit 0

