diff options
author | Jeff King <peff@peff.net> | 2016-03-07 10:51:21 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-03-07 12:27:28 -0800 |
commit | 85975c0c7f46aeb5010121959e38c339038758a7 (patch) | |
tree | 61cb7d177427db9b252104efaa8392882ac6c04a /parse-options.c | |
parent | mailmap: do not resolve blobs in a non-repository (diff) | |
download | tgif-85975c0c7f46aeb5010121959e38c339038758a7.tar.xz |
grep: turn off gitlink detection for --no-index
If we are running "git grep --no-index" outside of a git
repository, we behave roughly like "grep -r", examining all
files in the current directory and its subdirectories.
However, because we use fill_directory() to do the
recursion, it will skip over any directories which look like
sub-repositories.
For a normal git operation (like "git grep" in a repository)
this makes sense; we do not want to cross the boundary out
of our current repository into a submodule. But for
"--no-index" without a repository, we should look at all
files, including embedded repositories.
There is one exception, though: we probably should _not_
descend into ".git" directories. Doing so is inefficient and
unlikely to turn up useful hits.
This patch drops our use of dir.c's gitlink-detection, but
we do still avoid ".git". That makes us more like tools such
as "ack" or "ag", which also know to avoid cruft in .git.
As a bonus, this also drops our usage of the ref code
when we are outside of a repository, making the transition
to pluggable ref backends cleaner.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'parse-options.c')
0 files changed, 0 insertions, 0 deletions