X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg-delete.sh;h=7f7ede7068d71bd5f50e10686ea87398f26f1b41;hp=287c4fa738366fac09d0ce126a8f5a55d28644dc;hb=43a76ac1e77824b06d27c231dd1a16e0a9bf0326;hpb=308892d0c071135031994606170c8be6653e7197 diff --git a/tg-delete.sh b/tg-delete.sh index 287c4fa..7f7ede7 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"