merge-recursive: Fix deletion of untracked file in rename/delete conflicts
[gitweb.git] / merge-recursive.c
index ce57ea530b0c8e0d046c743a02023b7daf3de394..089cfe88c12db4e787b533912eb0c169b988cf0e 100644 (file)
@@ -1115,7 +1115,8 @@ static int process_renames(struct merge_options *o,
                        int renamed_stage = a_renames == renames1 ? 2 : 3;
                        int other_stage =   a_renames == renames1 ? 3 : 2;
 
-                       remove_file(o, 1, ren1_src, o->call_depth || renamed_stage == 2);
+                       remove_file(o, 1, ren1_src,
+                                   renamed_stage == 2 || !was_tracked(ren1_src));
 
                        hashcpy(src_other.sha1, ren1->src_entry->stages[other_stage].sha);
                        src_other.mode = ren1->src_entry->stages[other_stage].mode;