From 36e3b5eafe967cb721f5e2bbaa396f979b8ebd7c Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 22 Dec 2008 23:10:20 +0100 Subject: merge-recursive: mark rename/delete conflict as unmerged When a file was renamed in one branch, but deleted in the other, one should expect the index to contain an unmerged entry, namely the target of the rename. Make it so. Noticed by Constantine Plotnikov. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- merge-recursive.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'merge-recursive.c') diff --git a/merge-recursive.c b/merge-recursive.c index a0c804c81..69e715220 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -902,6 +902,11 @@ static int process_renames(struct merge_options *o, ren1_src, ren1_dst, branch1, branch2); update_file(o, 0, ren1->pair->two->sha1, ren1->pair->two->mode, ren1_dst); + update_stages(ren1_dst, NULL, + branch1 == o->branch1 ? + ren1->pair->two : NULL, + branch1 == o->branch1 ? + NULL : ren1->pair->two, 1); } else if (!sha_eq(dst_other.sha1, null_sha1)) { const char *new_path; clean_merge = 0; -- cgit v1.2.1