#!/bin/bash
# Barret Rhoden (brho@cs.berkeley.edu)
# Copyright 2016 Google Inc
#
# Tracks a branch in a remote repo.
#
# If the remote is already set up, then you only need to pass it remote/branch.
# If the remote is new, you will need to pass the URL for the repo.


usage()
{
	echo "$0 <remote>/<branch> [<url>]"
	exit -1
}

if [ $# -lt 1 ]
then
	usage
fi

REMOTE=`echo $1 | cut -f 1 -d '/'`
BRANCH=`echo $1 | cut -f 2- -d '/'`

git remote | grep $REMOTE > /dev/null
if [ $? -ne 0 ]
then
	if [ $# -ne 2 ]
	then
		echo "Remote $REMOTE not tracked yet and no URL passed"
		echo "	Try again with the repo's URL or add the remote manually"
		usage
	fi
	URL=$2
	git remote add -t $BRANCH $REMOTE $URL
else
	git remote set-branches --add $REMOTE $BRANCH
fi

git fetch -n $REMOTE $BRANCH
