X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-branch.sh;h=f823c788fd92cc2038a7c9700c5acf254cc0d5b6;hb=91c23e48d0666a673dd14760bb00f6d59234d9d9;hp=e0501ec23f5c40134af0e6211cf1ba28e69e1d5b;hpb=0e84fb06a1022f99c96cfcd728e7bf029ef0b5e3;p=git.git diff --git a/git-branch.sh b/git-branch.sh index e0501ec23..f823c788f 100755 --- a/git-branch.sh +++ b/git-branch.sh @@ -1,6 +1,6 @@ #!/bin/sh -USAGE='[-l] [(-d | -D) ] | [[-f] []] | -r' +USAGE='[-l] [-f] [] | (-d | -D) | [-r]' LONG_USAGE='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 .' @@ -112,6 +112,16 @@ rev=$(git-rev-parse --verify "$head") || exit git-check-ref-format "heads/$branchname" || die "we do not like '$branchname' as a branch name." +if [ -d "$GIT_DIR/refs/heads/$branchname" ] +then + for refdir in `cd "$GIT_DIR" && \ + find "refs/heads/$branchname" -type d | sort -r` + do + rmdir "$GIT_DIR/$refdir" || \ + die "Could not delete '$refdir', there may still be a ref there." + done +fi + if [ -e "$GIT_DIR/refs/heads/$branchname" ] then if test '' = "$force"