chiark / gitweb /
Merge commit 'refs/top-bases/fixes/independent-help' into fixes/independent-help
[topgit.git] / tg-mail.sh
index dd50004a96127f9b6a26a93d1c47503c8aa1882d..8d3b6320a11dfb945f2a70821ae7063a431dffff 100644 (file)
@@ -29,6 +29,10 @@ done
 base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" ||
        die "not a TopGit-controlled branch"
 
+if ! git send-emmail --help >/dev/null 2>&1; then
+       die "git send-email command not available"
+fi
+
 if [ -n "$in_reply_to" ]; then
        send_email_args="$send_email_args --in-reply-to=$in_reply_to"
 fi
@@ -46,14 +50,14 @@ from="$(echo "$header" | grep '^From:' | sed 's/From:\s*//')"
 to="$(echo "$header" | grep '^To:' | sed 's/To:\s*//')"
 
 
-# XXX: I can't get quoting right without arrays
-people=()
-[ -n "$from" ] && people=("${people[@]}" --from "$from")
+people=
+[ -n "$from" ] && people="$people --from '$from'"
 # FIXME: there could be multimple To
-[ -n "$to" ]   && people=("${people[@]}" --to "$to")
-
+[ -n "$to" ] && people="$people --to '$to'"
 
 # NOTE: git-send-email handles cc itself
-git send-email $send_email_args "${people[@]}" "$patchfile"
+eval git send-email $send_email_args "$people" "$patchfile"
 
 rm "$patchfile"
+
+# vim:noet