t7002: test for not using external grep on skip-worktree paths Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/builtin-grep.c b/builtin-grep.c index 25ee75d..04ac60a 100644 --- a/builtin-grep.c +++ b/builtin-grep.c
@@ -232,6 +232,7 @@ int status; argv[argc] = NULL; + trace_argv_printf(argv, "trace: grep:"); pid = fork(); if (pid < 0) return pid;
diff --git a/t/t7002-grep.sh b/t/t7002-grep.sh index 23eeb76..99142fd 100755 --- a/t/t7002-grep.sh +++ b/t/t7002-grep.sh
@@ -340,4 +340,16 @@ test_cmp expected actual ' +test_expect_success EXTGREP 'external grep is called' ' + GIT_TRACE=2 git grep foo >/dev/null 2>actual && + grep "trace: grep:.*foo" actual >/dev/null +' + +test_expect_success EXTGREP 'no external grep when skip-worktree entries exist' ' + git update-index --skip-worktree file && + GIT_TRACE=2 git grep foo >/dev/null 2>actual && + ! grep "trace: grep:" actual >/dev/null && + git update-index --no-skip-worktree file +' + test_done