Commit Diff


commit - 474b4f942340d76684764aab281f8f7efe1878b8
commit + 4209f7906dd87a54d8efb26b7180f94272d4255a
blob - 5588ba08c282477959c088fffb7b1b90d1e71945
blob + 86727484622aa1f8e7e7408c3c23782ed22d379e
--- lib/diff.c
+++ lib/diff.c
@@ -191,10 +191,10 @@ diff_entry_old_new(struct got_tree_entry *te1, struct 
 		return diff_deleted_blob(&te1->id);
 	}
 
-	if (S_ISDIR(te1->mode) == S_ISDIR(te2->mode)) {
+	if (S_ISDIR(te1->mode) && S_ISDIR(te2->mode)) {
 		if (!same_id(&te1->id, &te2->id))
 			return diff_modified_tree(&te1->id, &te2->id);
-	} else if (S_ISREG(te1->mode) == S_ISREG(te2->mode)) {
+	} else if (S_ISREG(te1->mode) && S_ISREG(te2->mode)) {
 		if (!same_id(&te1->id, &te2->id))
 			return diff_modified_blob(&te1->id, &te2->id);
 	} else