2 # TopGit - A different patch queue manager
3 # (c) Petr Baudis <pasky@suse.cz> 2008
6 force
= # Whether to delete non-empty branch
18 echo "Usage: tg [...] delete [-f] NAME" >&2
21 [ -z "$name" ] || die
"name already specified ($name)"
29 [ -n "$name" ] || die
"no branch name specified"
30 branchrev
="$(git rev-parse --verify "$name" 2>/dev/null)" ||
31 die
"invalid branch name: $name"
32 baserev
="$(git rev-parse --verify "refs
/top-bases
/$name" 2>/dev/null)" ||
33 die
"not a TopGit topic branch: $name"
34 ! git symbolic-ref HEAD
>/dev
/null ||
[ "$(git symbolic-ref HEAD)" != "refs/heads/$name" ] ||
35 die
"cannot delete your current branch"
38 branch_empty
"$name" || nonempty
=1
40 [ -z "$nonempty" ] ||
[ -n "$force" ] || die
"branch is non-empty: $name"
45 git update-ref
-d "refs/top-bases/$name" "$baserev"
46 git update-ref
-d "refs/heads/$name" "$branchrev"