diff options
author | Markus Heidelberg <markus.heidelberg@web.de> | 2009-06-12 12:51:41 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-06-12 09:22:15 -0700 |
commit | f74fe34b96816bad1f568202ec51ef18ae7513b3 (patch) | |
tree | 7c612429c17ff4f8a76a0b4421fb475ff0c7a4fc | |
parent | d67114a5f3cbbedd4f01e6ff87fd5d4db9563ead (diff) | |
download | git-f74fe34b96816bad1f568202ec51ef18ae7513b3.tar.gz |
send-email: fix threaded mails without chain-reply-to
An earlier commit 15da108 ("send-email: 'References:' should only
reference what is sent", 2009-04-13) broke logic to set up threading
information for the next message by rewriting "!" to "not" without
understanding the precedence rules of the language.
Namely,
! defined $reply_to || length($reply_to) == 0
was changed to
not defined $reply_to || length($reply_to) == 0
which is
not (defined $reply_to || length($reply_to) == 0)
and different from what was intended, which is
(not defined $reply_to) || (length($reply_to) == 0)
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-send-email.perl | 3 | ||||
-rwxr-xr-x | t/t9001-send-email.sh | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/git-send-email.perl b/git-send-email.perl index 4c795a4b03..16d12e082b 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1150,7 +1150,8 @@ foreach my $t (@files) { my $message_was_sent = send_message(); # set up for the next message - if ($message_was_sent and $chain_reply_to || not defined $reply_to || length($reply_to) == 0) { + if ($message_was_sent && + ($chain_reply_to || !defined $reply_to || length($reply_to) == 0)) { $reply_to = $message_id; if (length $references > 0) { $references .= "\n $message_id"; diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 4f67de3ac7..8ab1a78bf5 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -621,7 +621,7 @@ test_expect_success 'in-reply-to but no threading' ' grep "In-Reply-To: <in-reply-id@example.com>" ' -test_expect_failure 'threading but no chain-reply-to' ' +test_expect_success 'threading but no chain-reply-to' ' git send-email \ --dry-run \ --from="Example <nobody@example.com>" \ |