When not specifying the start point explicitly, we ended up
emitting ^0 in addition to the default HEAD. Be careful to see
if we have "$2" before finding out which commit to base the new
branch on.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
. git-sh-setup-script || die "Not a git archive"
branchname="$1"
-rev=$(git-rev-parse --verify --default HEAD "$2"^0) || exit
+case "$2" in
+'')
+ head=HEAD ;;
+*)
+ head="$2^0" ;;
+esac
+rev=$(git-rev-parse --revs-only --verify "$head") || exit
[ -z "$branchname" ] && die "git branch: I want a branch name"
[ -e "$GIT_DIR/refs/heads/$branchname" ] && die "$branchname already exists"