format-patch: thread as reply to cover letter even with in-reply-to

Currently, format-patch --thread --cover-letter --in-reply-to $parent
makes all mails, including the cover letter, a reply to $parent.
However, we would want the reader to consider the cover letter above
all the patches.

This changes the semantics so that only the cover letter is a reply to
$parent, while all the patches are formatted as replies to the cover
letter.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Rast 2009-02-19 22:26:32 +01:00 committed by Junio C Hamano
parent b079c50e03
commit 2175c10d5a
2 changed files with 21 additions and 8 deletions

View file

@ -1036,12 +1036,22 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
/* Have we already had a message ID? */
if (rev.message_id) {
/*
* If we've got the ID to be a reply
* to, discard the current ID;
* otherwise, make everything a reply
* to that.
* Without --cover-letter and
* --in-reply-to, make every mail a
* reply to the one before.
*
* With --in-reply-to but no
* --cover-letter, make every mail a
* reply to the <reply-to>.
*
* With --cover-letter, make every
* mail but the cover letter a reply
* to the cover letter. The cover
* letter is a reply to the
* --in-reply-to, if specified.
*/
if (rev.ref_message_ids->nr > 0)
if (rev.ref_message_ids->nr > 0
&& (!cover_letter || rev.nr > 1))
free(rev.message_id);
else
string_list_append(rev.message_id,

View file

@ -237,16 +237,19 @@ In-Reply-To: <1>
References: <1>
---
Message-Id: <2>
In-Reply-To: <1>
In-Reply-To: <0>
References: <1>
<0>
---
Message-Id: <3>
In-Reply-To: <1>
In-Reply-To: <0>
References: <1>
<0>
---
Message-Id: <4>
In-Reply-To: <1>
In-Reply-To: <0>
References: <1>
<0>
EOF
test_expect_success 'thread cover-letter in-reply-to' '