Subject: Re: git send-email doesn't take To: addresses from the patch

From: Stephen Boyd <[email-masked]>
Date: Wed, 01 Sep 2010 00:50:13 -0700

On 08/30/2010 12:05 AM, viresh kumar wrote:
> Hi,
>
> I am using git-1.7.2 and use following command to generate a patch
>
> $ git format-patch --to [email-masked] HEAD^
>
> Now when I use git send-email to send this patch, it is not taking the
> To: embedded in the patch as its destination, instead it asks for one
> and if not provided it keeps this field empty.
> On the other hand git send-email is taking the Cc addresses from
> the patch perfectly in to account.
>
> How can I use git send-email to pick To: addresses directly from the
> patch.

You can't. Nobody has bothered to make git-send-email consider the To: field. Can you try this patch out? I think it will mostly work, except I haven't bothered to look at --compose yet and I'm halfway stumbling through this code right now.

---->8-----

Subject: [PATCH] send-email: Use To: headers in patch files

It's a minor annoyance when you take the painstaking time to setup To:
headers for each patch in a large series, and then go out to send the
series with git-send-email and watch git ignore the To: headers in the
patch files.

Therefore, always add To: headers from a patch file to the To: headers
for that message. Keep the prompt for the blanket To: header so as to
not break scripts (and user expectations). This means even if a patch has a
To: header, git will prompt for the To: address. Otherwise, we'll need to
introduce interface breakage to either request the header for each patch
missing a To: header or default the header to whatever To: address is found
first (be it in a patch or from user input). Both of these options don't seem
very obvious/useful.

Reported-by: viresh kumar<[email-masked]>
Signed-off-by: Stephen Boyd<[email-masked]>
---
  git-send-email.perl |    7 +++++++
  1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/git-send-email.perl b/git-send-email.perl
index 6dab3bf..06373ed 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -1176,6 +1176,13 @@ foreach my $t (@files) {
  					$1, $_) unless $quiet;
  				push @cc, $1;
  			}
+			elsif (/^To:\s+(.*)$/) {
+				foreach my $addr (parse_address_line($1)) {
+					printf("(mbox) Adding to: %s from line '%s'\n",
+						$addr, $_) unless $quiet;
+					push @to, sanitize_address($addr);
+				}
+			}
  			elsif (/^Cc:\s+(.*)$/) {
  				foreach my $addr (parse_address_line($1)) {
  					if (unquote_rfc2047($addr) eq $sender) {
-- 
1.7.2.2.178.gd8a94