From 50456801c017e22696b9d756daf3a4a66e6b9bb8 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Latour Date: Wed, 10 Jun 2015 10:09:10 -0700 Subject: [PATCH] Fixed handling of GIT_DELTA_CONFLICTED in git_diff_find_similar() git_diff_find_similar() now ignores git_diff_delta records with a status of GIT_DELTA_CONFLICTED, which fixes a crash due to assert() being hit. --- src/diff_tform.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/diff_tform.c b/src/diff_tform.c index 7d8463573..03dd9c9f7 100644 --- a/src/diff_tform.c +++ b/src/diff_tform.c @@ -676,11 +676,13 @@ static bool is_rename_target( return false; /* only consider ADDED, RENAMED, COPIED, and split MODIFIED as - * targets; maybe include UNTRACKED and IGNORED if requested. + * targets; maybe include UNTRACKED if requested. */ switch (delta->status) { case GIT_DELTA_UNMODIFIED: case GIT_DELTA_DELETED: + case GIT_DELTA_IGNORED: + case GIT_DELTA_CONFLICTED: return false; case GIT_DELTA_MODIFIED: @@ -707,9 +709,6 @@ static bool is_rename_target( return false; break; - case GIT_DELTA_IGNORED: - return false; - default: /* all other status values should be checked */ break; } @@ -735,6 +734,7 @@ static bool is_rename_source( case GIT_DELTA_UNTRACKED: case GIT_DELTA_UNREADABLE: case GIT_DELTA_IGNORED: + case GIT_DELTA_CONFLICTED: return false; case GIT_DELTA_DELETED: