git-diff: don't use colors when stdout is not a tty.
PATCH 1/1 git-diff: don't use colors when stdout is not a tty.
Currently, with diff-coloring enabled, git-diff outputs color escape sequences even if stdout is redirected (not a tty). This is rather annoying when trying to further process the output. This patch teaches the diff command to only do its coloring stuff when a pager is in use or stdout is a tty.
Signed-off-by Michel Marti <[email protected]>
--- diff.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff.c +1 -1
@@ -451,7 +451,7 @@ static void free_diff_words_data(struct emit_callback *ecbdata)const char *diff_get_color (int diff_use_color,enum color_diff ix) { -if (diff_use_color) +if (diff_use_color && (pager_in_use ||isatty (STDOUT_FILENO )))return diff_colors[ix];return "" ; }
--
1.5.2.2
Quoted 4 lines · Michel Marti
Currently, with diff-coloring enabled, git-diff outputs color escape sequences even if stdout is redirected (not a tty). This is rather annoying when trying to further process the output. This patch teaches the diff command to only do its coloring stuff when a pager is in use or stdout is a tty.
Set color.diff to auto instead of true.