This fixes the coolest merge ever. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- This was a forgotten part from the python version. merge-recursive.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/merge-recursive.c b/merge-recursive.c index 7a93dd9..f5b547b 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -1223,6 +1223,18 @@ int merge(struct commit *h1, output_commit_title(iter->item); merged_common_ancestors = pop_commit(&ca); + if (merged_common_ancestors == NULL) { + /* if there is no common ancestor, make an empty tree */ + struct tree *tree = xcalloc(1, sizeof(struct tree)); + char buffer[40]; + int hdrlen; + + tree->object.parsed = 1; + tree->object.type = OBJ_TREE; + *write_sha1_file_prepare(NULL, 0, tree_type, &tree->object.sha1, + buffer, &hdrlen); + merged_common_ancestors = make_virtual_commit(tree, "ancestor"); + } for (iter = ca; iter; iter = iter->next) { output_indent = call_depth + 1; -- 1.4.2.rc3.g29d0-dirty - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html