[PATCH] git-diff: don't use colors when stdout is not a tty.
- From
- Michel Marti <mma@objectxp.com>
- Date
- Jul 6, 2007, 15:35 UTC
- Message-ID
- <468E612E.2070903@objectxp.com>
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 <mma@objectxp.com> --- diff.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/diff.c b/diff.c index 1958970..988e741 100644 --- a/diff.c +++ b/diff.c @@ -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