X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg-mail.sh;h=8167adecb7421d6750205bd9304243f587a2e4d4;hp=dd50004a96127f9b6a26a93d1c47503c8aa1882d;hb=880c0f895759f9b0f35519f2b52e25aa79917b96;hpb=fde494fdb3a1606f68a410e789e4f930a68b5df0 diff --git a/tg-mail.sh b/tg-mail.sh index dd50004..8167ade 100644 --- a/tg-mail.sh +++ b/tg-mail.sh @@ -30,7 +30,7 @@ base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" die "not a TopGit-controlled branch" if [ -n "$in_reply_to" ]; then - send_email_args="$send_email_args --in-reply-to=$in_reply_to" + send_email_args="$send_email_args --in-reply-to='$in_reply_to'" fi @@ -38,7 +38,7 @@ patchfile="$(mktemp -t tg-mail.XXXXXX)" $tg patch "$name" >"$patchfile" -header="$(sed -e '/^$/,$d' "$patchfile")" +header="$(sed -e '/^$/,$d' -e "s,','\\\\'',g" "$patchfile")" @@ -46,14 +46,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