From a3b427b9fa1fdfd6d0c119d1f9db075ff92ffdf7 Mon Sep 17 00:00:00 2001 From: Amos Waterland Date: Wed, 7 Sep 2005 21:13:26 -0500 Subject: [PATCH] Do not create bogus branch from flag to git branch If you run `git branch --help', you will unexpectedly have created a new branch named "--help". This simple patch adds logic and a usage statement to catch this and similar problems, and adds a testcase for it. Signed-off-by: Amos Waterland Signed-off-by: Junio C Hamano --- git-branch.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'git-branch.sh') diff --git a/git-branch.sh b/git-branch.sh index 145a7b783a..81b9e6cce1 100755 --- a/git-branch.sh +++ b/git-branch.sh @@ -2,6 +2,16 @@ . git-sh-setup || die "Not a git archive" +usage () { + echo >&2 "usage: $(basename $0)"' [ [start-point]] + +If no arguments, show available branches and mark current branch with a star. +If one argument, create a new branch based off of current HEAD. +If two arguments, create a new branch based off of . +' + exit 1 +} + case "$#" in 0) headref=$(readlink "$GIT_DIR/HEAD" | sed -e 's|^refs/heads/||') @@ -25,6 +35,12 @@ case "$#" in head="$2^0" ;; esac branchname="$1" + +case "$branchname" in +-*) + usage;; +esac + rev=$(git-rev-parse --verify "$head") || exit [ -e "$GIT_DIR/refs/heads/$branchname" ] && die "$branchname already exists" -- cgit v1.2.3