summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-04-01 22:49:24 -0700
committerJunio C Hamano <gitster@pobox.com>2009-04-01 22:49:24 -0700
commit37a13acb2e9ec58c9dd8ee81a48dd4fa6d90ff29 (patch)
treec7496f349137603a8ef89cb72b9049107b84e04a
parent85b7bd50c47e0f5236cdb93d1be3163a8a1a3be6 (diff)
parentd7d9c2d04962b5aec34ec891d82dd74262306c56 (diff)
downloadgit-37a13acb2e9ec58c9dd8ee81a48dd4fa6d90ff29.tar.gz
Merge branch 'mh/format-patch-add-header'
* mh/format-patch-add-header: format-patch: add arbitrary email headers
-rw-r--r--Documentation/git-format-patch.txt5
-rw-r--r--builtin-log.c2
-rwxr-xr-xt/t4014-format-patch.sh15
3 files changed, 22 insertions, 0 deletions
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index c105925df8..db3bdb5657 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -157,6 +157,11 @@ if that is not set.
Add a "Cc:" header to the email headers. This is in addition
to any configured headers, and may be used multiple times.
+--add-header=<header>::
+ Add an arbitrary header to the email headers. This is in addition
+ to any configured headers, and may be used multiple times.
+ For example, --add-header="Organization: git-foo"
+
--cover-letter::
In addition to the patches, generate a cover letter file
containing the shortlog and the overall diffstat. You can
diff --git a/builtin-log.c b/builtin-log.c
index c7a5772594..27bc0dce23 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -918,6 +918,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
cover_letter = 1;
else if (!strcmp(argv[i], "--no-binary"))
no_binary_diff = 1;
+ else if (!prefixcmp(argv[i], "--add-header="))
+ add_header(argv[i] + 13);
else
argv[j++] = argv[i];
}
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index f187d15e32..11061ddd5b 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -128,6 +128,21 @@ test_expect_success 'additional command line cc' '
grep "^ *S. E. Cipient <scipient@example.com>$" patch5
'
+test_expect_success 'command line headers' '
+
+ git config --unset-all format.headers &&
+ git format-patch --add-header="Cc: R. E. Cipient <rcipient@example.com>" --stdout master..side | sed -e "/^$/q" >patch6 &&
+ grep "^Cc: R. E. Cipient <rcipient@example.com>$" patch6
+'
+
+test_expect_success 'configuration headers and command line headers' '
+
+ git config --replace-all format.headers "Cc: R. E. Cipient <rcipient@example.com>" &&
+ git format-patch --add-header="Cc: S. E. Cipient <scipient@example.com>" --stdout master..side | sed -e "/^$/q" >patch7 &&
+ grep "^Cc: R. E. Cipient <rcipient@example.com>,$" patch7 &&
+ grep "^ *S. E. Cipient <scipient@example.com>$" patch7
+'
+
test_expect_success 'multiple files' '
rm -rf patches/ &&