Merge branch 'jc/countermand-format-attach'
The format.attach configuration variable lacked a way to override a value defined in a lower-priority configuration file (e.g. the system one) by redefining it in a higher-priority configuration file. Now, setting format.attach to an empty string means show the patch inline in the e-mail message, without using MIME attachment. This is a backward incompatible change. * jc/countermand-format-attach: format.attach: allow empty value to disable multi-part messages
This commit is contained in:
commit
630501ceef
@ -3,7 +3,8 @@ format.attach::
|
|||||||
'format-patch'. The value can also be a double quoted string
|
'format-patch'. The value can also be a double quoted string
|
||||||
which will enable attachments as the default and set the
|
which will enable attachments as the default and set the
|
||||||
value as the boundary. See the --attach option in
|
value as the boundary. See the --attach option in
|
||||||
linkgit:git-format-patch[1].
|
linkgit:git-format-patch[1]. To countermand an earlier
|
||||||
|
value, set it to an empty string.
|
||||||
|
|
||||||
format.from::
|
format.from::
|
||||||
Provides the default value for the `--from` option to format-patch.
|
Provides the default value for the `--from` option to format-patch.
|
||||||
|
@ -1007,6 +1007,8 @@ static int git_format_config(const char *var, const char *value, void *cb)
|
|||||||
if (!strcmp(var, "format.attach")) {
|
if (!strcmp(var, "format.attach")) {
|
||||||
if (value && *value)
|
if (value && *value)
|
||||||
default_attach = xstrdup(value);
|
default_attach = xstrdup(value);
|
||||||
|
else if (value && !*value)
|
||||||
|
FREE_AND_NULL(default_attach);
|
||||||
else
|
else
|
||||||
default_attach = xstrdup(git_version_string);
|
default_attach = xstrdup(git_version_string);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2281,6 +2281,24 @@ test_expect_success 'format-patch --attach cover-letter only is non-multipart' '
|
|||||||
test_line_count = 1 output
|
test_line_count = 1 output
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'format-patch with format.attach' '
|
||||||
|
test_when_finished "rm -fr patches" &&
|
||||||
|
separator=attachment-separator &&
|
||||||
|
test_config format.attach "$separator" &&
|
||||||
|
filename=$(git format-patch -o patches -1) &&
|
||||||
|
grep "^Content-Type: multipart/.*$separator" "$filename"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'format-patch with format.attach=disabled' '
|
||||||
|
test_when_finished "rm -fr patches" &&
|
||||||
|
separator=attachment-separator &&
|
||||||
|
test_config_global format.attach "$separator" &&
|
||||||
|
test_config format.attach "" &&
|
||||||
|
filename=$(git format-patch -o patches -1) &&
|
||||||
|
# The output should not even declare content type for text/plain.
|
||||||
|
! grep "^Content-Type: multipart/" "$filename"
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success '-c format.mboxrd format-patch' '
|
test_expect_success '-c format.mboxrd format-patch' '
|
||||||
sp=" " &&
|
sp=" " &&
|
||||||
cat >msg <<-INPUT_END &&
|
cat >msg <<-INPUT_END &&
|
||||||
|
Loading…
Reference in New Issue
Block a user