diff options
author | Jeff King <peff@peff.net> | 2023-10-20 12:15:24 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-10-20 23:31:39 +0200 |
commit | 3ec6167567d0e1e03a728a64efa9848310d172ab (patch) | |
tree | 69776656b2426ae366ba85e7914d41d2620a1f11 /t/t9001-send-email.sh | |
parent | Revert "send-email: extract email-parsing code into a subroutine" (diff) | |
download | git-3ec6167567d0e1e03a728a64efa9848310d172ab.tar.xz git-3ec6167567d0e1e03a728a64efa9848310d172ab.zip |
send-email: handle to/cc/bcc from --compose message
If the user writes a message via --compose, send-email will pick up
various headers like "From", "Subject", etc and use them for other
patches as if they were specified on the command-line. But we don't
handle "To", "Cc", or "Bcc" this way; we just tell the user "those
aren't interpeted yet" and ignore them.
But it seems like an obvious thing to want, especially as the same
feature exists when the cover letter is generated separately by
format-patch. There it is gated behind the --to-cover option, but I
don't think we'd need the same control here; since we generate the
--compose template ourselves based on the existing input, if the user
leaves the lines unchanged then the behavior remains the same.
So let's fill in the implementation; like those other headers we already
handle, we just need to assign to the initial_* variables. The only
difference in this case is that they are arrays, so we'll feed them
through parse_address_line() to split them (just like we would when
reading a single string via prompting).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9001-send-email.sh')
-rwxr-xr-x | t/t9001-send-email.sh | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index c62f032056..4052b28e73 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -2522,7 +2522,7 @@ test_expect_success $PREREQ '--compose handles lowercase headers' ' test_expect_success $PREREQ '--compose handles to headers' ' write_script fake-editor <<-\EOF && - sed "s/^$/To: edited-to@example.com\n/" <"$1" >"$1.tmp" && + sed "s/^To: .*/&, edited-to@example.com/" <"$1" >"$1.tmp" && echo this is the body >>"$1.tmp" && mv "$1.tmp" "$1" EOF @@ -2534,10 +2534,16 @@ test_expect_success $PREREQ '--compose handles to headers' ' --to=nobody@example.com \ --smtp-server="$(pwd)/fake.sendmail" \ HEAD^ && - # Ideally the "to" header we specified would be used, - # but the program explicitly warns that these are - # ignored. For now, just make sure we did not abort. - grep "To:" msgtxt1 + # Check both that the cover letter used our modified "to" line, + # but also that it was picked up for the patch. + q_to_tab >expect <<-\EOF && + To: nobody@example.com, + Qedited-to@example.com + EOF + grep -A1 "^To:" msgtxt1 >msgtxt1.to && + test_cmp expect msgtxt1.to && + grep -A1 "^To:" msgtxt2 >msgtxt2.to && + test_cmp expect msgtxt2.to ' test_done |