mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
grep: fix worktree setup
Unless used with --cached or grepping on a tree, "git grep" will search on working directory, so set up worktree properly Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
4f38f6b5ba
commit
6577f542b3
|
@ -783,8 +783,11 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
|||
paths[1] = NULL;
|
||||
}
|
||||
|
||||
if (!list.nr)
|
||||
if (!list.nr) {
|
||||
if (!cached)
|
||||
setup_work_tree();
|
||||
return !grep_cache(&opt, paths, cached);
|
||||
}
|
||||
|
||||
if (cached)
|
||||
die("both --cached and trees are given.");
|
||||
|
|
|
@ -169,4 +169,9 @@ test_expect_success 'git diff' '
|
|||
test_cmp diff-FILES.expected result
|
||||
'
|
||||
|
||||
test_expect_success 'git grep' '
|
||||
(cd repo.git/work/sub &&
|
||||
GIT_DIR=../.. GIT_WORK_TREE=.. git grep -l changed | grep -q dir/tracked)
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
Loading…
Reference in a new issue