Merge branch 'jn/grep-open'
authorJunio C Hamano <gitster@pobox.com>
Thu, 15 Jul 2010 19:07:18 +0000 (12:07 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Jul 2010 19:07:18 +0000 (12:07 -0700)
* jn/grep-open:
grep -O: Do not pass color sequences as filenames to pager

builtin/grep.c
t/t7811-grep-open.sh
index 232cd1ce07bf3f695c722e6217ce653ff704d64b..597f76bc42f51e0fc1906c287981e3d37dc0f536 100644 (file)
@@ -1001,6 +1001,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
        if (show_in_pager == default_pager)
                show_in_pager = git_pager(1);
        if (show_in_pager) {
+               opt.color = 0;
                opt.name_only = 1;
                opt.null_following_name = 1;
                opt.output_priv = &path_list;
index c1104413445b18bb1532931183e1c529632ad527..568a6f2b69ab5003c00f206806c3fe6289f63a98 100755 (executable)
@@ -125,6 +125,21 @@ test_expect_success 'modified file' '
        test_cmp empty out
 '
 
+test_config() {
+       git config "$1" "$2" &&
+       test_when_finished "git config --unset $1"
+}
+
+test_expect_success 'copes with color settings' '
+       rm -f actual &&
+       echo grep.h >expect &&
+       test_config color.grep always &&
+       test_config color.grep.filename yellow &&
+       test_config color.grep.separator green &&
+       git grep -O'\''printf "%s\n" >actual'\'' GREP_AND &&
+       test_cmp expect actual
+'
+
 test_expect_success 'run from subdir' '
        rm -f actual &&
        echo grep.c >expect &&