X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=tg-delete.sh;h=ab121c2597c11534ff251944ade590490e151b23;hb=ad4ba21f04e5c36b258450a886a104351bcef8da;hp=287c4fa738366fac09d0ce126a8f5a55d28644dc;hpb=308892d0c071135031994606170c8be6653e7197;p=topgit.git diff --git a/tg-delete.sh b/tg-delete.sh index 287c4fa..ab121c2 100644 --- a/tg-delete.sh +++ b/tg-delete.sh @@ -15,7 +15,7 @@ while [ -n "$1" ]; do -f) force=1;; -*) - echo "Usage: tg delete [-f] NAME" >&2 + echo "Usage: tg [...] delete [-f] NAME" >&2 exit 1;; *) [ -z "$name" ] || die "name already specified ($name)" @@ -31,11 +31,11 @@ branchrev="$(git rev-parse --verify "$name" 2>/dev/null)" || die "invalid branch name: $name" baserev="$(git rev-parse --verify "refs/top-bases/$name" 2>/dev/null)" || die "not a TopGit topic branch: $name" -[ "$(git symbolic-ref HEAD)" != "refs/heads/$name" ] || +! git symbolic-ref HEAD >/dev/null || [ "$(git symbolic-ref HEAD)" != "refs/heads/$name" ] || die "cannot delete your current branch" nonempty= -[ -z "$(git diff-tree "refs/top-bases/$name" "$name" | fgrep -v " .top")" ] || nonempty=1 +branch_empty "$name" || nonempty=1 [ -z "$nonempty" ] || [ -n "$force" ] || die "branch is non-empty: $name" @@ -44,3 +44,5 @@ nonempty= git update-ref -d "refs/top-bases/$name" "$baserev" git update-ref -d "refs/heads/$name" "$branchrev" + +# vim:noet