format-patch: ignore ui.color

commit c9bfb953 (want_color: automatically fallback to color.ui,
2011-08-17) introduced a regression where format-patch produces colorized
patches when color.ui is set to "always".

In f3aafa4 (Disable color detection during format-patch, 2006-07-09),
git_format_config was taught to intercept diff.color to avoid passing it
down to git_log_config and later, git_diff_ui_config.

Teach git_format_config to intercept color.ui in the same way.

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pang Yan Han 2011-09-13 01:46:41 +08:00 committed by Junio C Hamano
parent c9bfb95348
commit 787570c7cd
2 changed files with 10 additions and 1 deletions

View File

@ -608,7 +608,8 @@ static int git_format_config(const char *var, const char *value, void *cb)
string_list_append(&extra_cc, value); string_list_append(&extra_cc, value);
return 0; return 0;
} }
if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) { if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff") ||
!strcmp(var, "color.ui")) {
return 0; return 0;
} }
if (!strcmp(var, "format.numbered")) { if (!strcmp(var, "format.numbered")) {

View File

@ -869,4 +869,12 @@ test_expect_success 'empty subject prefix does not have extra space' '
test_cmp expect actual test_cmp expect actual
' '
test_expect_success 'format patch ignores color.ui' '
test_unconfig color.ui &&
git format-patch --stdout -1 >expect &&
test_config color.ui always &&
git format-patch --stdout -1 >actual &&
test_cmp expect actual
'
test_done test_done