It can be puzzling to see that was_tracked() tries to match an index entry by name even if cache_name_pos() returned a negative value. Let's clarify that cache_name_pos() implicitly looks for stage 0, while we are also okay with finding other stages. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- merge-recursive.c | 1 + 1 file changed, 1 insertion(+) diff --git a/merge-recursive.c b/merge-recursive.c index 98f4632..bcb53f0 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -658,6 +658,7 @@ static int was_tracked(const char *path) { int pos = cache_name_pos(path, strlen(path)); + /* cache_name_pos() looks for stage == 0, so pos may be < 0 */ if (pos < 0) pos = -1 - pos; while (pos < active_nr && -- 2.9.0.268.gcabc8b0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html