diff: make git_diff_from_buffer
diffs show binary data when printed.
#7051
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change sets the
GIT_DIFF_SHOW_BINARY
flag on allgit_diff
structs created using
git_diff_from_buffer
. This ensures that when thediff is printed (e.g. with
git_diff_print
orgit_diff_to_buf
) allbinary data patches in the diff are actually printed out.
Before this change printing a diff created from a patch file using
git_diff_from_buffer
would result in binary data patches not beingincluded in the output. Instead, a "Binary files A and B differ" message
would be included in the printed patch, even if the original patch did
include a "GIT binary patch". This meant that you couldn't actually
round-trip such diffs, going from patch file to
git_diff
to patchfile.
Note that this change is consistent with how that same flag is already
set on all
git_patch
structs created usinggit_patch_parse
(whichgit_diff_from_buffer
calls to populate thegit_diff
, and whichgit_patch_from_buffer
also calls).