From: Junio C Hamano <junkio@cox.net>
To: Matthew Wilcox <matthew@wil.cx>
Cc: git@vger.kernel.org
Subject: Re: Make git-send-email detect mbox-style patches more readily
Date: Sat, 07 Oct 2006 03:09:05 -0700 [thread overview]
Message-ID: <7vy7rssaim.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <20061006202414.GR2563@parisc-linux.org> (Matthew Wilcox's message of "Fri, 6 Oct 2006 14:24:14 -0600")
Matthew Wilcox <matthew@wil.cx> 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@wil.cx>
> 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;
prev parent reply other threads:[~2006-10-07 10:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-06 20:24 Make git-send-email detect mbox-style patches more readily Matthew Wilcox
2006-10-07 10:09 ` Junio C Hamano [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vy7rssaim.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--cc=matthew@wil.cx \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.