Code

grep: respect diff attributes for binary-ness
authorJeff King <peff@peff.net>
Thu, 2 Feb 2012 08:21:02 +0000 (03:21 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 2 Feb 2012 18:36:08 +0000 (10:36 -0800)
commit41b59bfcb16abb738e5c95c95fb462e717d47d4d
treeb7004fa38e12abac11917f06e6273b28274f7ca4
parent94ad9d9e075d3f7802cf56641ebb342d43fb46e3
grep: respect diff attributes for binary-ness

There is currently no way for users to tell git-grep that a
particular path is or is not a binary file; instead, grep
always relies on its auto-detection (or the user specifying
"-a" to treat all binary-looking files like text).

This patch teaches git-grep to use the same attribute lookup
that is used by git-diff. We could add a new "grep" flag,
but that is unnecessarily complex and unlikely to be useful.
Despite the name, the "-diff" attribute (or "diff=foo" and
the associated diff.foo.binary config option) are really
about describing the contents of the path. It's simply
historical that diff was the only thing that cared about
these attributes in the past.

And if this simple approach turns out to be insufficient, we
still have a backwards-compatible path forward: we can add a
separate "grep" attribute, and fall back to respecting
"diff" if it is unset.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
grep.c
grep.h
t/t7008-grep-binary.sh