diff_print: change test for skipping binary printing

Instead of skipping printing a binary diff when there is no data, skip
printing when we have a status of `UNMODIFIED`.  This is more in-line
with our internal data model and allows us to expand the notion of
binary data.

In the future, there may have no data because the files were unmodified
(there was no data to produce) or it may have no data because there was
no data given to us in a patch.  We want to treat these cases
separately.
This commit is contained in:
Edward Thomson 2016-09-02 11:26:16 -05:00
parent 4bfd7c63fc
commit f4e3dae75f

View File

@ -521,13 +521,13 @@ static int diff_print_patch_file_binary(
size_t pre_binary_size;
int error;
if (delta->status == GIT_DELTA_UNMODIFIED)
return 0;
if ((pi->flags & GIT_DIFF_SHOW_BINARY) == 0)
return diff_print_patch_file_binary_noshow(
pi, delta, old_pfx, new_pfx);
if (binary->new_file.datalen == 0 && binary->old_file.datalen == 0)
return 0;
pre_binary_size = pi->buf->size;
git_buf_printf(pi->buf, "GIT binary patch\n");
pi->line.num_lines++;