merge-recursive: when comparing files, don't include trees
commit7d38849eb77b0d62a283eb2903ababf6c33673dd
authorElijah Newren <newren@gmail.com>
Wed, 14 Feb 2018 18:51:59 +0000 (14 10:51 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Feb 2018 21:02:53 +0000 (14 13:02 -0800)
tree57ec629823e0aece00bc1bb2f51c4699ad3c48ca
parent79d49b7d8c75b80d5aeaf9d84895361b85e9c748
merge-recursive: when comparing files, don't include trees

get_renames() would look up stage data that already existed (populated
in get_unmerged(), taken from whatever unpack_trees() created), and if
it didn't exist, would call insert_stage_data() to create the necessary
entry for the given file.  The insert_stage_data() fallback becomes
much more important for directory rename detection, because that creates
a mechanism to have a file in the resulting merge that didn't exist on
either side of history.  However, insert_stage_data(), due to calling
get_tree_entry() loaded up trees as readily as files.  We aren't
interested in comparing trees to files; the D/F conflict handling is
done elsewhere.  This code is just concerned with what entries existed
for a given path on the different sides of the merge, so create a
get_tree_entry_if_blob() helper function and use it.

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