Browse Source

Make git-send-email detect mbox-style patches more readily

Earlier we insisted that mbox file to begin with "From ".  That
is fine as long as you feed format-patch output, but if you
handcraft the input file, this is unnecessary burden.  We should
detect lines that look like e-mail headers and say that is also
a mbox file.

The other input file format is traditional "send lots of email",
whose first line would never look like e-mail headers, so this
is a safe change.

The original patch was done by Matthew Wilcox, which checked
explicitly for headers the script pays attention to.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 18 years ago
parent
commit
e6b0964af5
  1. 13
      git-send-email.perl

13
git-send-email.perl

@ -481,15 +481,21 @@ foreach my $t (@files) {
my $author_not_sender = undef; my $author_not_sender = undef;
@cc = @initial_cc; @cc = @initial_cc;
@xh = (); @xh = ();
my $found_mbox = 0; my $input_format = undef;
my $header_done = 0; my $header_done = 0;
$message = ""; $message = "";
while(<F>) { while(<F>) {
if (!$header_done) { if (!$header_done) {
$found_mbox = 1, next if (/^From /); if (/^From /) {
$input_format = 'mbox';
next;
}
chomp; 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+(.*)$/) { if (/^Subject:\s+(.*)$/) {
$subject = $1; $subject = $1;


@ -514,6 +520,7 @@ foreach my $t (@files) {
# line 1 = cc # line 1 = cc
# line 2 = subject # line 2 = subject
# So let's support that, too. # So let's support that, too.
$input_format = 'lots';
if (@cc == 0) { if (@cc == 0) {
printf("(non-mbox) Adding cc: %s from line '%s'\n", printf("(non-mbox) Adding cc: %s from line '%s'\n",
$_, $_) unless $quiet; $_, $_) unless $quiet;

Loading…
Cancel
Save