Support a --cc=<email> option in format-patch
authorDaniel Barkalow <barkalow@iabervon.org>
Tue, 19 Feb 2008 07:40:35 +0000 (02:40 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 20 Feb 2008 05:49:38 +0000 (21:49 -0800)
When you have particular reviewers you want to sent particular series
to, it's nice to be able to generate the whole series with them as
additional recipients, without configuring them into your general
headers or adding them by hand afterwards.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-format-patch.txt
builtin-log.c
t/t4014-format-patch.sh

index b27bb94..b5207b7 100644 (file)
@@ -17,6 +17,7 @@ SYNOPSIS
                   [--in-reply-to=Message-Id] [--suffix=.<sfx>]
                   [--ignore-if-in-upstream]
                   [--subject-prefix=Subject-Prefix]
+                  [--cc=<email>]
                   [--cover-letter]
                   [ <since> | <revision range> ]
 
@@ -136,6 +137,10 @@ include::diff-options.txt[]
        allows for useful naming of a patch series, and can be
        combined with the --numbered option.
 
+--cc=<email>::
+       Add a "Cc:" header to the email headers. This is in addition
+       to any configured headers, and may be used multiple times.
+
 --cover-letter::
        Generate a cover letter template.  You still have to fill in
        a description, but the shortlog and the diffstat will be
index 71ae55b..0b348eb 100644 (file)
@@ -771,6 +771,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
                                die("Need a number for --start-number");
                        start_number = strtol(argv[i], NULL, 10);
                }
+               else if (!prefixcmp(argv[i], "--cc=")) {
+                       ALLOC_GROW(extra_cc, extra_cc_nr + 1, extra_cc_alloc);
+                       extra_cc[extra_cc_nr++] = xstrdup(argv[i] + 5);
+               }
                else if (!strcmp(argv[i], "-k") ||
                                !strcmp(argv[i], "--keep-subject")) {
                        keep_subject = 1;
index 43d8841..a39e786 100755 (executable)
@@ -122,6 +122,14 @@ test_expect_success 'extra headers with multiple To:s' '
        grep "^ *S. E. Cipient <scipient@example.com>$" hdrs4
 '
 
+test_expect_success 'additional command line cc' '
+
+       git config --replace-all format.headers "Cc: R. E. Cipient <rcipient@example.com>" &&
+       git format-patch --cc="S. E. Cipient <scipient@example.com>" --stdout master..side | sed -e "/^$/Q" >patch5 &&
+       grep "^Cc: R. E. Cipient <rcipient@example.com>,$" patch5 &&
+       grep "^ *S. E. Cipient <scipient@example.com>$" patch5
+'
+
 test_expect_success 'multiple files' '
 
        rm -rf patches/ &&