summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Heidelberg <markus.heidelberg@web.de>2009-06-12 10:51:41 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-06-12 16:22:15 (GMT)
commitf74fe34b96816bad1f568202ec51ef18ae7513b3 (patch)
tree7c612429c17ff4f8a76a0b4421fb475ff0c7a4fc
parentd67114a5f3cbbedd4f01e6ff87fd5d4db9563ead (diff)
downloadgit-f74fe34b96816bad1f568202ec51ef18ae7513b3.zip
git-f74fe34b96816bad1f568202ec51ef18ae7513b3.tar.gz
git-f74fe34b96816bad1f568202ec51ef18ae7513b3.tar.bz2
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-xgit-send-email.perl3
-rwxr-xr-xt/t9001-send-email.sh2
2 files changed, 3 insertions, 2 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index 4c795a4..16d12e0 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 4f67de3..8ab1a78 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>" \