Merge branch 'en/merge-recursive-cleanup'
The merge-recursive machiery is one of the most complex parts of the system that accumulated cruft over time. This large series cleans up the implementation quite a bit. * en/merge-recursive-cleanup: (26 commits) merge-recursive: fix the fix to the diff3 common ancestor label merge-recursive: fix the diff3 common ancestor label for virtual commits merge-recursive: alphabetize include list merge-recursive: add sanity checks for relevant merge_options merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_* merge-recursive: split internal fields into a separate struct merge-recursive: avoid losing output and leaking memory holding that output merge-recursive: comment and reorder the merge_options fields merge-recursive: consolidate unnecessary fields in merge_options merge-recursive: move some definitions around to clean up the header merge-recursive: rename merge_options argument to opt in header merge-recursive: rename 'mrtree' to 'result_tree', for clarity merge-recursive: use common name for ancestors/common/base_list merge-recursive: fix some overly long lines cache-tree: share code between functions writing an index as a tree merge-recursive: don't force external callers to do our logging merge-recursive: remove useless parameter in merge_trees() merge-recursive: exit early if index != head Ensure index matches head before invoking merge machinery, round N merge-recursive: remove another implicit dependency on the_repository ...
This commit is contained in:
@ -586,7 +586,7 @@ static int do_recursive_merge(struct repository *r,
|
||||
struct replay_opts *opts)
|
||||
{
|
||||
struct merge_options o;
|
||||
struct tree *result, *next_tree, *base_tree, *head_tree;
|
||||
struct tree *next_tree, *base_tree, *head_tree;
|
||||
int clean;
|
||||
char **xopt;
|
||||
struct lock_file index_lock = LOCK_INIT;
|
||||
@ -613,11 +613,10 @@ static int do_recursive_merge(struct repository *r,
|
||||
|
||||
clean = merge_trees(&o,
|
||||
head_tree,
|
||||
next_tree, base_tree, &result);
|
||||
next_tree, base_tree);
|
||||
if (is_rebase_i(opts) && clean <= 0)
|
||||
fputs(o.obuf.buf, stdout);
|
||||
strbuf_release(&o.obuf);
|
||||
diff_warn_rename_limit("merge.renamelimit", o.needed_rename_limit, 0);
|
||||
if (clean < 0) {
|
||||
rollback_lock_file(&index_lock);
|
||||
return clean;
|
||||
|
||||
Reference in New Issue
Block a user