Re: git grep -I bug
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 2, 2009, 17:54 UTC
- Message-ID
- <7vwsc8hgh4.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20090202174257.GA8259@Ambelina.erc-wireless.uc.edu>
Jeremy O'Brien <obrien654j@gmail.com> writes:
Show 7 quoted lines
> I am running git version 1.6.1.2.309.g2ea3. > > When I use > > git grep -I "string_to_match" > > to ignore binary files in my grep, binary files are returned anyway.
One sanity check. What does 'git grep --cached -I "string_to_match"' do in that case?
If it works as expected but without --cached it doesn't, then I think the following patch will fix it.
-- >8 -- Subject: grep: pass -I (ignore binary) down to external grep
The external-grep codepath forgets to pass this option. Fix it.
Signed-off-by: Junio C Hamano <gitster@pobox.com> --- builtin-grep.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git c/builtin-grep.c w/builtin-grep.c index bebf15c..c799fdd 100644 --- c/builtin-grep.c +++ w/builtin-grep.c @@ -297,6 +297,8 @@ static int external_grep(struct grep_opt *opt, const char **paths, int cached) push_arg("-l"); if (opt->unmatch_name_only) push_arg("-L"); + if (opt->binary == GREP_BINARY_NOMATCH) + push_arg("-I"); if (opt->null_following_name) /* in GNU grep git's "-z" translates to "-Z" */ push_arg("-Z");