Make sure alternates are carried over from the original repository.
[git.git] / git-branch-script
1 #!/bin/sh
2
3 . git-sh-setup-script || die "Not a git archive"
4
5 case "$#" in
6 0)
7         headref=$(readlink "$GIT_DIR/HEAD" | sed -e 's|^refs/heads/||')
8         git-rev-parse --symbolic --all |
9         sed -ne 's|^refs/heads/||p' |
10         sort |
11         while read ref
12         do
13                 if test "$headref" = "$ref"
14                 then
15                         pfx='*'
16                 else
17                         pfx=' '
18                 fi
19                 echo "$pfx $ref"
20         done
21         exit 0 ;;
22 1)
23         head=HEAD ;;
24 2)
25         head="$2^0" ;;
26 esac
27 branchname="$1"
28 rev=$(git-rev-parse --revs-only --verify "$head") || exit
29
30 [ -e "$GIT_DIR/refs/heads/$branchname" ] && die "$branchname already exists"
31
32 echo $rev > "$GIT_DIR/refs/heads/$branchname"