From: Junio C Hamano Date: Sat, 8 Jul 2006 00:48:02 +0000 (-0700) Subject: colored diff: diff.color = auto fix X-Git-Tag: v1.4.2-rc1~71 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=a0c2089c1d48dc9969822126170d35c6e5aa141f;p=git.git colored diff: diff.color = auto fix Even if the standard output is connected to a tty, do not colorize the diff if we are talking to a dumb terminal when diff.color configuration variable is set to "auto". Signed-off-by: Junio C Hamano --- diff --git a/diff.c b/diff.c index f0450a8b0..aab246c97 100644 --- a/diff.c +++ b/diff.c @@ -110,8 +110,14 @@ int git_diff_config(const char *var, const char *value) if (!strcmp(var, "diff.color")) { if (!value) diff_use_color_default = 1; /* bool */ - else if (!strcasecmp(value, "auto")) - diff_use_color_default = isatty(1); + else if (!strcasecmp(value, "auto")) { + diff_use_color_default = 0; + if (isatty(1)) { + char *term = getenv("TERM"); + if (term && strcmp(term, "dumb")) + diff_use_color_default = 1; + } + } else if (!strcasecmp(value, "never")) diff_use_color_default = 0; else if (!strcasecmp(value, "always"))