diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-08-29 14:38:37 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-08-29 14:39:13 -0700 |
commit | d5fc07df688ace8c5a32f66b358ebd55cdaf4d28 (patch) | |
tree | 4e85ad980a53ed4f8632e9d86b86dfff2fb6a429 | |
parent | 34bc1b1045af6ad813f4de662a453b3c77ba65a7 (diff) | |
download | git-d5fc07df688ace8c5a32f66b358ebd55cdaf4d28.tar.gz |
format-patch: learn format.forceInBodyFrom configuration variable
As the need to use the "--force-in-body-from" option primarily is
tied to which mailing list the mails go to (and get their From:
address mangled), it is likely that a user who needs to use this
option once to interact with their upstream project needs to use it
for all patches they send out.
Add a configuration variable, suitable for setting in the local
configuration file per repository, for this.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | Documentation/config/format.txt | 4 | ||||
-rw-r--r-- | Documentation/git-format-patch.txt | 2 | ||||
-rw-r--r-- | builtin/log.c | 4 | ||||
-rwxr-xr-x | t/t4014-format-patch.sh | 24 |
4 files changed, 34 insertions, 0 deletions
diff --git a/Documentation/config/format.txt b/Documentation/config/format.txt index fdbc06a4d2..c7303d8d9f 100644 --- a/Documentation/config/format.txt +++ b/Documentation/config/format.txt @@ -15,6 +15,10 @@ format.from:: different. If set to a non-boolean value, format-patch uses that value instead of your committer identity. Defaults to false. +format.forceInBodyFrom:: + Provides the default value for the `--[no-]force-in-body-from` + option to format-patch. Defaults to false. + format.numbered:: A boolean which can enable or disable sequence numbers in patch subjects. It defaults to "auto" which enables it only if there diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index 7c7f244e57..dfcc7da4c2 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -283,6 +283,8 @@ feeding the result to `git send-email`. the in-body "From:" is added even when the sender and the author have the same name and address, which may help if the mailing list software mangles the sender's identity. + Defaults to the value of the `format.forceInBodyFrom` + configuration variable. --add-header=<header>:: Add an arbitrary header to the email headers. This is in addition diff --git a/builtin/log.c b/builtin/log.c index 78ccd37bd9..776bc9afdb 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1007,6 +1007,10 @@ static int git_format_config(const char *var, const char *value, void *cb) from = NULL; return 0; } + if (!strcmp(var, "format.forceinbodyfrom")) { + force_in_body_from = git_config_bool(var, value); + return 0; + } if (!strcmp(var, "format.notes")) { int b = git_parse_maybe_bool(value); if (b < 0) diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 347f7f7f35..ad5c029279 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -1413,6 +1413,30 @@ test_expect_success 'with --force-in-body-from, redundant in-body from is kept' test_cmp expect patch.head ' +test_expect_success 'format.forceInBodyFrom, equivalent to --force-in-body-from' ' + git -c format.forceInBodyFrom=yes format-patch \ + -1 --stdout --from="A U Thor <author@example.com>" >patch && + cat >expect <<-\EOF && + From: A U Thor <author@example.com> + + From: A U Thor <author@example.com> + + EOF + sed -ne "/^From:/p; /^$/p; /^---$/q" patch >patch.head && + test_cmp expect patch.head +' + +test_expect_success 'format.forceInBodyFrom, equivalent to --force-in-body-from' ' + git -c format.forceInBodyFrom=yes format-patch --no-force-in-body-from \ + -1 --stdout --from="A U Thor <author@example.com>" >patch && + cat >expect <<-\EOF && + From: A U Thor <author@example.com> + + EOF + sed -ne "/^From:/p; /^$/p; /^---$/q" patch >patch.head && + test_cmp expect patch.head +' + test_expect_success 'in-body headers trigger content encoding' ' test_env GIT_AUTHOR_NAME="éxötìc" test_commit exotic && test_when_finished "git reset --hard HEAD^" && |