Code

grep -O: Do not pass color sequences as filenames to pager
authorNazri Ramliy <ayiehere@gmail.com>
Sat, 3 Jul 2010 02:55:06 +0000 (21:55 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 7 Jul 2010 18:23:17 +0000 (11:23 -0700)
commite7b082a4118d15e901f4f44b067394b314a0ae6a
tree22810e66783e5de49f82b49e076852539ce13dd5
parent0c72cead8435b2865efc884060bd0bd49313cbd5
grep -O: Do not pass color sequences as filenames to pager

With a .gitconfig like this:

 [color]
ui = auto
 [color "grep"]
filename = magenta

if stdout is a terminal, the grep machinery will output the color
sequence \e[36m before each filename in its output.

In the case of "git grep -O foo", output is argv for the pager.
Disable color when calling the grep machinery in this case.

Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/grep.c
t/t7811-grep-open.sh