#!/bin/sh -efu

. girar-sh-functions

usage()
{
	echo >&2 "$PROG: $*"
	echo >&2 "usage: $PROG <path to git repository> [<branch>]"
	exit 1
}

[ "$#" -ge 1 ] ||
	usage 'Not enough arguments.'
[ "$#" -le 2 ] ||
	usage 'Too many arguments.'

cd

dir="$(validate_packages_dir "$1")"; shift
dir="$(add_git_suffix "$dir")"
cd "$dir"

if [ "$#" -eq 0 ]; then
	git symbolic-ref HEAD
	exit
fi

branch="$1"; shift
[ -n "$branch" ] ||
	fatal "$branch: Invalid branch"

[ -z "${branch##*/*}" ] || branch="refs/heads/$branch"

git show-ref --heads |cut -d' ' -f2 |fgrep -qsx -- "$branch" ||
	fatal "$branch: branch not found"

git symbolic-ref HEAD "$branch"
