Commit 94750e8a by Linquize Committed by Russell Belfer

Fix submodule dirty states not showing if submodules comes before files, or…

Fix submodule dirty states not showing if submodules comes before files, or there are only dirty submodules but no changed files

GIT_DIFF_PATCH_DIFFABLE was not set, so the diff content was not shown

When submodule is dirty, the hash may be the same, but the length is different because -dirty is appended

We can therefore compare the length or hash
parent fc12a6b5
...@@ -678,7 +678,8 @@ cleanup: ...@@ -678,7 +678,8 @@ cleanup:
if ((delta->flags & GIT_DIFF_FLAG_BINARY) == 0 && if ((delta->flags & GIT_DIFF_FLAG_BINARY) == 0 &&
delta->status != GIT_DELTA_UNMODIFIED && delta->status != GIT_DELTA_UNMODIFIED &&
(patch->old_data.len || patch->new_data.len) && (patch->old_data.len || patch->new_data.len) &&
!git_oid_equal(&delta->old_file.oid, &delta->new_file.oid)) ((patch->old_data.len != patch->new_data.len) ||
!git_oid_equal(&delta->old_file.oid, &delta->new_file.oid)))
patch->flags |= GIT_DIFF_PATCH_DIFFABLE; patch->flags |= GIT_DIFF_PATCH_DIFFABLE;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment