Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
grep --no-index: honor pathspecs correctly
author
Junio C Hamano
<gitster@pobox.com>
Wed, 16 Feb 2011 22:39:00 +0000
(14:39 -0800)
committer
Junio C Hamano
<gitster@pobox.com>
Wed, 16 Feb 2011 22:39:00 +0000
(14:39 -0800)
Even though fill_directory() takes pathspec, the returned set of paths
is not guaranteed to be free of paths outside the pathspec. Perhaps we
would need to change that, but the current API is that the caller needs
to further filter them.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/grep.c
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
f577b92
)
diff --git
a/builtin/grep.c
b/builtin/grep.c
index c3af8760cc778b4eb835d4fb543f45aa333b214c..5afee2f3a42c76c7e414a667e04c10dd87af1a6a 100644
(file)
--- a/
builtin/grep.c
+++ b/
builtin/grep.c
@@
-626,6
+626,10
@@
static int grep_directory(struct grep_opt *opt, const struct pathspec *pathspec)
fill_directory(&dir, pathspec->raw);
for (i = 0; i < dir.nr; i++) {
+ const char *name = dir.entries[i]->name;
+ int namelen = strlen(name);
+ if (!match_pathspec_depth(pathspec, name, namelen, 0, NULL))
+ continue;
hit |= grep_file(opt, dir.entries[i]->name);
if (hit && opt->status_only)
break;