merge-recursive: do not return NULL only to cause segfault
authorJunio C Hamano <gitster@pobox.com>
Fri, 22 Jan 2010 00:38:56 +0000 (16:38 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 22 Jan 2010 01:02:30 +0000 (17:02 -0800)
commit19c6a4f8369f37c0df1fb57008a891eb6a6dc4bb
tree931a497c32219630e51ff1efc333150343333bde
parent703e6e76a14825e5b0c960d525f34e607154b4f7
merge-recursive: do not return NULL only to cause segfault

merge-recursive calls write_tree_from_memory() to come up with a virtual
tree, with possible conflict markers inside the blob contents, while
merging multiple common ancestors down.  It is a bug to call the function
with unmerged entries in the index, even if the merge to come up with the
common ancestor resulted in conflicts.  Otherwise the result won't be
expressible as a tree object.

We _might_ want to suggest the user to set GIT_MERGE_VERBOSITY to 5 and
re-run the merge in the message.  At least we will know which part of
process_renames() or process_entry() functions is not correctly handling
the unmerged paths, and it might help us diagnosing the issue.

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