• J
    diff: fix handling of binary rewrite diffs · 0c01857d
    Jeff King 提交于
    The current emit_rewrite_diff code always writes a text patch without
    checking whether the content is binary. This means that if you end up with
    a rewrite diff for a binary file, you get lots of raw binary goo in your
    patch.
    
    Instead, if we have binary files, then let's just skip emit_rewrite_diff
    altogether. We will already have shown the "dissimilarity index" line, so
    it is really about the diff contents. If binary diffs are turned off, the
    "Binary files a/file and b/file differ" message should be the same in
    either case. If we do have binary patches turned on, there isn't much
    point in making a less-efficient binary patch that does a total rewrite;
    no human is going to read it, and since binary patches don't apply with
    any fuzz anyway, the result of application should be the same.
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    0c01857d
diff.c 87.8 KB