Re: log -S/-G (aka pickaxe) searches binary files by default
- Date: Fri, 3 Mar 2017 19:05:07 +0100
- From: Thomas Braun <thomas.braun@xxxxxxxxxxxxxxxxxxx>
- Subject: Re: log -S/-G (aka pickaxe) searches binary files by default
Am 03.03.2017 um 17:07 schrieb Junio C Hamano:
> Jeff King <peff@xxxxxxxx> writes:
>> On Thu, Mar 02, 2017 at 05:36:17PM -0800, Junio C Hamano wrote:
>>>> Is that on purpose?
>>> No, it's a mere oversight (as I do not think I never even thought
>>> about special casing binary
>>> files from day one, it is unlikely that you would find _any_ old
>>> version of Git that behaves
>> The email focuses on "-G", and I think it is wrong to look in binary
>> files there, as "grep in diff" does not make sense for a binary file
>> that we would refuse to diff.
> Yeah, I agree.
>> But the subject also mentions "-S". I always assumed it was intentional
>> to look in binary files there, as it is searching for a pure byte
>> sequence. I would not mind an option to disable that, but I think the
>> default should remain on.
> As the feature was built to be one of the core ingredients necessary
> towards the 'ideal SCM' envisioned in
> "-S" is about finding "a block of text". It was merely an oversight
> that we didn't add explicit code to ignore binary when we introduced
> the concept of "is this text? is it worth finding things in and
> diffing binary files?".
> I do agree that it may be too late and/or disruptive to change its
> behaviour now, as people may grew expectations different from the
> original motivation and design, though.
Thanks both for the encouraging answers.
I'll try to come up with patches in the next couple of weeks for the
"log -G": disable looking in binaries
"log -S": add option to switch looking into binaries, defaults to true