X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-branch-script;h=0ecbd239acf0d035ba1a7c9471c2b29b3bb4b884;hb=1f038a0c31e06e7a248be0990549ac717399c540;hp=ade0abf06987bdb78ede571de7afe927486a2c69;hpb=07ee0d77c66d6f356cd3f82435e67510779aa53c;p=git.git diff --git a/git-branch-script b/git-branch-script index ade0abf0..0ecbd239 100755 --- a/git-branch-script +++ b/git-branch-script @@ -2,10 +2,31 @@ . git-sh-setup-script || die "Not a git archive" +case "$#" in +0) + headref=$(readlink "$GIT_DIR/HEAD" | sed -e 's|^refs/heads/||') + git-rev-parse --symbolic --all | + sed -ne 's|^refs/heads/||p' | + sort | + while read ref + do + if test "$headref" = "$ref" + then + pfx='*' + else + pfx=' ' + fi + echo "$pfx $ref" + done + exit 0 ;; +1) + head=HEAD ;; +2) + head="$2^0" ;; +esac branchname="$1" -rev=$(git-rev-parse --verify --default HEAD "$2"^0) || exit +rev=$(git-rev-parse --verify "$head") || exit -[ -z "$branchname" ] && die "git branch: I want a branch name" [ -e "$GIT_DIR/refs/heads/$branchname" ] && die "$branchname already exists" echo $rev > "$GIT_DIR/refs/heads/$branchname"