Add the --in-reply-to option to provide a Message-Id for an initial In-Reply-To/References header, useful for including a new patch series as part of an existing thread. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxx> --- Same behavior as git-send-email. Documentation/git-format-patch.txt | 6 ++++++ builtin-log.c | 10 ++++++++++ 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index 81e3a9a..6a805c3 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -11,6 +11,7 @@ SYNOPSIS [verse] 'git-format-patch' [-n | -k] [-o <dir> | --stdout] [--attach] [--no-thread] [-s | --signoff] [--diff-options] [--start-number <n>] + [--in-reply-to=Message-Id] <since>[..<until>] DESCRIPTION @@ -70,6 +71,11 @@ OPTIONS Do not add In-Reply-To and References headers to make the second and subsequent mails appear as replies to the first. +--in-reply-to=Message-Id:: + Make the first mail (or all the mails with --no-thread) appear as a + reply to the given Message-Id, which avoids breaking threads to + provide a new patch series. + CONFIGURATION ------------- You can specify extra mail header lines to be added to each diff --git a/builtin-log.c b/builtin-log.c index 97df715..d0d70c4 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -243,6 +243,7 @@ int cmd_format_patch(int argc, const cha int keep_subject = 0; int ignore_if_in_upstream = 0; int thread = 1; + char *in_reply_to = NULL; struct diff_options patch_id_opts; char *add_signoff = NULL; char message_id[1024]; @@ -314,6 +315,14 @@ int cmd_format_patch(int argc, const cha ignore_if_in_upstream = 1; else if (!strcmp(argv[i], "--no-thread")) thread = 0; + else if (!strncmp(argv[i], "--in-reply-to=", 14)) + in_reply_to = argv[i] + 14; + else if (!strcmp(argv[i], "--in-reply-to")) { + i++; + if (i == argc) + die("Need a Message-Id for --in-reply-to"); + in_reply_to = argv[i]; + } else argv[j++] = argv[i]; } @@ -371,6 +380,7 @@ int cmd_format_patch(int argc, const cha if (numbered) rev.total = total + start_number - 1; rev.add_signoff = add_signoff; + rev.ref_message_id = in_reply_to; while (0 <= --nr) { int shown; commit = list[nr]; -- 1.4.1.gf029 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html