Merge branch 'jk/diff-no-rename-empty'
Forbids rename detection logic from matching two empty files as renames during merge-recursive to prevent mismerges. By Jeff King * jk/diff-no-rename-empty: merge-recursive: don't detect renames of empty files teach diffcore-rename to optionally ignore empty content make is_empty_blob_sha1 available everywhere drop casts from users EMPTY_TREE_SHA1_BIN
This commit is contained in:
@ -485,6 +485,7 @@ static struct string_list *get_renames(struct merge_options *o,
|
||||
renames = xcalloc(1, sizeof(struct string_list));
|
||||
diff_setup(&opts);
|
||||
DIFF_OPT_SET(&opts, RECURSIVE);
|
||||
DIFF_OPT_CLR(&opts, RENAME_EMPTY);
|
||||
opts.detect_rename = DIFF_DETECT_RENAME;
|
||||
opts.rename_limit = o->merge_rename_limit >= 0 ? o->merge_rename_limit :
|
||||
o->diff_rename_limit >= 0 ? o->diff_rename_limit :
|
||||
@ -1914,7 +1915,7 @@ int merge_recursive(struct merge_options *o,
|
||||
/* if there is no common ancestor, use an empty tree */
|
||||
struct tree *tree;
|
||||
|
||||
tree = lookup_tree((const unsigned char *)EMPTY_TREE_SHA1_BIN);
|
||||
tree = lookup_tree(EMPTY_TREE_SHA1_BIN);
|
||||
merged_common_ancestors = make_virtual_commit(tree, "ancestor");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user