On Thu, Jun 16, 2016 at 07:53:24AM +0100, Charles Bailey wrote: > From: Charles Bailey <cbaile...@bloomberg.net> > > This reverts commit 4d552005323034c1d6311796ac1074e9a4b4b57e. > > This commit caused 'git grep' to no longer find matches in new files in > the working tree where the corresponding index entry had the "intent to > add" bit set.
I don't think revert is right. It rather needs a re-fix like below. Basically we want grep_file() to run as normal, but grep_sha1() (i.e. git grep --cached) should ignore i-t-a entries, because empty SHA-1 is not the right content to grep. It does not matter in positive matching, sure, but it may in -v cache. -- 8< -- diff --git a/builtin/grep.c b/builtin/grep.c index 462e607..ae73831 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -386,7 +386,7 @@ static int grep_cache(struct grep_opt *opt, const struct pathspec *pathspec, int for (nr = 0; nr < active_nr; nr++) { const struct cache_entry *ce = active_cache[nr]; - if (!S_ISREG(ce->ce_mode) || ce_intent_to_add(ce)) + if (!S_ISREG(ce->ce_mode)) continue; if (!ce_path_match(ce, pathspec, NULL)) continue; @@ -396,7 +396,7 @@ static int grep_cache(struct grep_opt *opt, const struct pathspec *pathspec, int * cache version instead */ if (cached || (ce->ce_flags & CE_VALID) || ce_skip_worktree(ce)) { - if (ce_stage(ce)) + if (ce_stage(ce) || ce_intent_to_add(ce)) continue; hit |= grep_sha1(opt, ce->sha1, ce->name, 0, ce->name); } -- 8< -- -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html