rerere: handle conflicts with multiple stage #1 entries
[gitweb.git] / rerere.c
index 31644dec04fe4a77d43624720ff516de2d746dbc..b453a80085a016a08417111b60bd847ea2b3c742 100644 (file)
--- a/rerere.c
+++ b/rerere.c
@@ -369,10 +369,8 @@ static int check_one_conflict(int i, int *type)
        }
 
        *type = PUNTED;
-       if (ce_stage(e) == 1) {
-               if (active_nr <= ++i)
-                       return i + 1;
-       }
+       while (ce_stage(active_cache[i]) == 1)
+               i++;
 
        /* Only handle regular files with both stages #2 and #3 */
        if (i + 1 < active_nr) {