summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2012-05-03 16:34:02 +0200
committernulltoken <emeric.fermas@gmail.com>2012-05-07 12:18:31 +0200
commit245c5eaec553ca1793b2a83c288fd2595f70c6a5 (patch)
treec7f7b82fa2b1cba277616515e0ea202632b7979f
parent8d0f46754ff933f014e033c0e4f442927788fa29 (diff)
downloadlibgit2-245c5eaec553ca1793b2a83c288fd2595f70c6a5.tar.gz
diff: When diffing two blobs, ensure the delta callback parameter is filled with relevant information
-rw-r--r--src/diff_output.c8
-rw-r--r--tests-clar/diff/blob.c2
2 files changed, 7 insertions, 3 deletions
diff --git a/src/diff_output.c b/src/diff_output.c
index 4eefbf284..788c8b8f0 100644
--- a/src/diff_output.c
+++ b/src/diff_output.c
@@ -728,12 +728,16 @@ int git_diff_blobs(
delta.status = old_data.ptr ?
(new_data.ptr ? GIT_DELTA_MODIFIED : GIT_DELTA_DELETED) :
(new_data.ptr ? GIT_DELTA_ADDED : GIT_DELTA_UNTRACKED);
- delta.old_file.mode = 0100644; /* can't know the truth from a blob alone */
- delta.new_file.mode = 0100644;
+ delta.old_file.mode = 0000000; /* can't know the truth from a blob alone */
+ delta.new_file.mode = 0000000;
git_oid_cpy(&delta.old_file.oid, git_object_id((const git_object *)old_blob));
git_oid_cpy(&delta.new_file.oid, git_object_id((const git_object *)new_blob));
delta.old_file.path = NULL;
delta.new_file.path = NULL;
+ delta.old_file.size = old_data.size;
+ delta.new_file.size = new_data.size;
+ delta.old_file.flags = 0;
+ delta.new_file.flags = 0;
delta.similarity = 0;
info.diff = NULL;
diff --git a/tests-clar/diff/blob.c b/tests-clar/diff/blob.c
index ed1f14a07..65b350005 100644
--- a/tests-clar/diff/blob.c
+++ b/tests-clar/diff/blob.c
@@ -13,7 +13,7 @@ void test_diff_blob__cleanup(void)
cl_git_sandbox_cleanup();
}
-void test_diff_blob__0(void)
+void test_diff_blob__can_compare_text_blobs(void)
{
git_blob *a, *b, *c, *d;
git_oid a_oid, b_oid, c_oid, d_oid;