summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b079c50)
raw | patch | inline | side by side (parent: b079c50)
author | Thomas Rast <trast@student.ethz.ch> | |
Thu, 19 Feb 2009 21:26:32 +0000 (22:26 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sun, 22 Feb 2009 04:26:10 +0000 (20:26 -0800) |
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>
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>
builtin-log.c | patch | blob | history | |
t/t4014-format-patch.sh | patch | blob | history |
diff --git a/builtin-log.c b/builtin-log.c
index 59671139b8d3d5f528aa31d71735fa58f9e02360..1df38e17a2a1795f6bd34aee5249fbc91a8b927b 100644 (file)
--- a/builtin-log.c
+++ b/builtin-log.c
/* 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,
index 345e6deab6155ae89ff6a24497c994f199581466..8b970c39a2713e6413510fe84f2124b76b12c9db 100755 (executable)
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
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' '