Matthew Wilcox <matthew@xxxxxx> writes: > Earlier today, I embarrassed myself by trying to construct a patch that > git-send-email would send, and I missed out the putting > > From garbage > > line on the front, which led it to send the patches with a > Subject: From: Matthew Wilcox <matthew@xxxxxx> > line. Bad. I do not mind this patch per-se, but what do you prepare your patch with? Straight "diff -pu" between two directories? quilt? Since the command deals with two formats (mbox and "send lots of email"), I am wondering if it would be bettern to loosen the regexp you used further to catch something like this: /^[-A-Za-z]+:\s/ The reason why I suspect it would be better to do this loosening is because I've queued the patch I did yesterday for Len to allow the prepared patch file to contain custom header fields, not just the set of headers hardcoded in the send-email script. The second line in the "send lots of email" format is e-mail subject, and it is conceivable that would match the above pattern, so this may not be workable, though. Maybe something like this? diff --git a/git-send-email.perl b/git-send-email.perl index 3f50aba..ed8652c 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -472,15 +472,21 @@ foreach my $t (@files) { my $author_not_sender = undef; @cc = @initial_cc; - my $found_mbox = 0; + my $input_format = undef; my $header_done = 0; $message = ""; while(<F>) { if (!$header_done) { - $found_mbox = 1, next if (/^From /); + if (/^From /) { + $input_format = 'mbox'; + next; + } chomp; + if (!defined $input_format && /^[-A-Za-z]+:\s/) { + $input_format = 'mbox'; + } - if ($found_mbox) { + if (defined $input_format && $input_format eq 'mbox') { if (/^Subject:\s+(.*)$/) { $subject = $1; @@ -502,6 +508,7 @@ foreach my $t (@files) { # line 1 = cc # line 2 = subject # So let's support that, too. + $input_format = 'lots'; if (@cc == 0) { printf("(non-mbox) Adding cc: %s from line '%s'\n", $_, $_) unless $quiet; - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html