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>
This commit is contained in:
parent
d67114a5f3
commit
f74fe34b96
@ -1150,7 +1150,8 @@ foreach my $t (@files) {
|
|||||||
my $message_was_sent = send_message();
|
my $message_was_sent = send_message();
|
||||||
|
|
||||||
# set up for the next 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;
|
$reply_to = $message_id;
|
||||||
if (length $references > 0) {
|
if (length $references > 0) {
|
||||||
$references .= "\n $message_id";
|
$references .= "\n $message_id";
|
||||||
|
@ -621,7 +621,7 @@ test_expect_success 'in-reply-to but no threading' '
|
|||||||
grep "In-Reply-To: <in-reply-id@example.com>"
|
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 \
|
git send-email \
|
||||||
--dry-run \
|
--dry-run \
|
||||||
--from="Example <nobody@example.com>" \
|
--from="Example <nobody@example.com>" \
|
||||||
|
Loading…
Reference in New Issue
Block a user