зеркало из https://github.com/microsoft/git.git
merge-recur: if there is no common ancestor, fake empty one
This fixes the coolest merge ever. [jc: with two "Oops that's not it" fixes from Johannes and Alex, and an obvious type mismatch fix.] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
c1964a006f
Коммит
934d9a2407
|
@ -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));
|
||||
unsigned char hdr[40];
|
||||
int hdrlen;
|
||||
|
||||
tree->object.parsed = 1;
|
||||
tree->object.type = OBJ_TREE;
|
||||
write_sha1_file_prepare(NULL, 0, tree_type, tree->object.sha1,
|
||||
hdr, &hdrlen);
|
||||
merged_common_ancestors = make_virtual_commit(tree, "ancestor");
|
||||
}
|
||||
|
||||
for (iter = ca; iter; iter = iter->next) {
|
||||
output_indent = call_depth + 1;
|
||||
|
|
Загрузка…
Ссылка в новой задаче