merge-ort: add implementation of type-changed rename handling
authorElijah Newren <newren@gmail.com>
Tue, 15 Dec 2020 18:28:06 +0000 (18:28 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Dec 2020 01:18:32 +0000 (17:18 -0800)
commit6fcccbd75556d1dcc80493f6eb51109f53a5dc83
treeae55b68dc08ba00a4d4351a6468d1b676633a1cd
parentf1665e69188f54c941f9bf10ed388a72a91cc2a1
merge-ort: add implementation of type-changed rename handling

Implement cases where renames are involved in type changes (i.e. the
side of history that didn't rename the file changed its type from a
regular file to a symlink or submodule).  There was some code to handle
this in merge-recursive but only in the special case when the renamed
file had no content changes.  The code here works differently -- it
knows process_entry() can handle mode conflicts, so it does a few
minimal tweaks to ensure process_entry() can just finish the job as
needed.

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