merge-recursive: Have process_entry() skip D/F or rename entries
authorElijah Newren <newren@gmail.com>
Mon, 20 Sep 2010 08:28:55 +0000 (02:28 -0600)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Sep 2010 00:37:03 +0000 (17:37 -0700)
If an entry has an associated rename_df_conflict_info, skip it and allow
it to be processed by process_df_entry().

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
merge-recursive.c

index 2ba05a5b59bedb2079ab2e655bd7ddd44d52fdda..319780458e50e1cd3c925a808668086cf02a12f3 100644 (file)
@@ -1267,6 +1267,9 @@ static int process_entry(struct merge_options *o,
        unsigned char *a_sha = stage_sha(entry->stages[2].sha, a_mode);
        unsigned char *b_sha = stage_sha(entry->stages[3].sha, b_mode);
 
+       if (entry->rename_df_conflict_info)
+               return 1; /* Such cases are handled elsewhere. */
+
        entry->processed = 1;
        if (o_sha && (!a_sha || !b_sha)) {
                /* Case A: Deleted in one */