]> git.ipfire.org Git - thirdparty/git.git/commit
grep: ignore --recurse-submodules if --no-index is given
authorPhilippe Blain <levraiphilippeblain@gmail.com>
Thu, 30 Jan 2020 13:37:28 +0000 (13:37 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Jan 2020 18:15:58 +0000 (10:15 -0800)
commitc56c48dd0750dc7759f5e9a33cd4a01d6162b06e
tree87437a6c07061fa41004364aaff82797b457613e
parenta0ba80001a42eeacae94e3503c3e7d4bf7f2f2e1
grep: ignore --recurse-submodules if --no-index is given

Since grep learned to recurse into submodules in 0281e487fd
(grep: optionally recurse into submodules, 2016-12-16),
using --recurse-submodules along with --no-index makes Git
die().

This is unfortunate because if submodule.recurse is set in a user's
~/.gitconfig, invoking `git grep --no-index` either inside or outside
a Git repository results in

    fatal: option not supported with --recurse-submodules

Let's allow using these options together, so that setting submodule.recurse
globally does not prevent using `git grep --no-index`.

Using `--recurse-submodules` should not have any effect if `--no-index`
is used inside a repository, as Git will recurse into the checked out
submodule directories just like into regular directories.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-grep.txt
builtin/grep.c
t/t7814-grep-recurse-submodules.sh