зеркало из https://github.com/microsoft/git.git
format-patch: add arbitrary email headers
format-patch supports the format.headers configuration for adding arbitrary email headers to the patches it outputs. This patch adds support for an --add-header argument which makes the same feature available from the command line. This is useful when the content of custom email headers must change from branch to branch. This patch has been sponsored by Grant Street Group Signed-off-by: Michael Hendricks <michael@ndrix.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
eed1fcd76d
Коммит
d7d9c2d049
|
@ -161,6 +161,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
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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/ &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче