Re: textconv not invoked when viewing merge commit
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 14, 2011, 20:06 UTC
- Message-ID
- <7v8vvcha2s.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <7vd3kohb5n.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 15 quoted lines
> Junio C Hamano <gitster@pobox.com> writes: > >> Jeff King <peff@peff.net> writes: >> >>> We just dump the binary goo all over the terminal. So I think the whole >>> combined-diff code path needs to learn how to handle binaries properly. >> >> How would you show multi-way diffs for binary files? >> >> It would probably be sufficient to say "binary files differ" at the >> beginning of the patch-combining codepath of the combined diff, which >> would at least keep the --raw -c/--cc output working. > > In other words, I suspect that the only places you need to touch in the > existing codepath would be these places.
In the "here are the places" patch, I changed combine_diff() to return "is this binary?" and made show_patch_diff() to give just a single "path is binary", but I suspect that it would be simpler not try to be too nice about binary like that.
Instead, I think we should just use "Binary blob $SHA-1\n" as if that is the textconv of a binary file without textconv filter. That would certainly make the code much simpler, and more importantly, the output would become more pleasant. We would show something like:
- Binary blob bc3c57058faba66f6a7a947e1e9642f47053b5bb
-Binary blob 536e55524db72bd2acf175208aef4f3dfc148d42
++Binary blob 67cfeb2016b24df1cb406c18145efd399f6a1792if we did so.
When showing the working-tree version, we obviously do not have the blob object name yet, so in such a case, we can say "Binary blob", or just "Binary".