From: Josh Triplett Date: Sat, 15 Jul 2006 00:49:08 +0000 (-0700) Subject: Add option to set initial In-Reply-To/References X-Git-Tag: v1.4.2-rc2~5^2~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=da56645dd7c1175fc2ed1628ac35fdd35e705641;p=git.git Add option to set initial In-Reply-To/References 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 Signed-off-by: Junio C Hamano --- diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index 305bd7915..67425dc03 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 | --stdout] [--attach] [--thread] [-s | --signoff] [--diff-options] [--start-number ] + [--in-reply-to=Message-Id] [..] DESCRIPTION @@ -72,6 +73,11 @@ OPTIONS subsequent mails appear as replies to the first. Also generates the Message-Id header to reference. +--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 646676805..705205331 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -249,6 +249,7 @@ int cmd_format_patch(int argc, const char **argv, char **envp) int keep_subject = 0; int ignore_if_in_upstream = 0; int thread = 0; + char *in_reply_to = NULL; struct diff_options patch_id_opts; char *add_signoff = NULL; char message_id[1024]; @@ -320,6 +321,14 @@ int cmd_format_patch(int argc, const char **argv, char **envp) ignore_if_in_upstream = 1; else if (!strcmp(argv[i], "--thread")) thread = 1; + 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]; } @@ -377,6 +386,7 @@ int cmd_format_patch(int argc, const char **argv, char **envp) 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];