Skip to content

pr-814/newren/ort-recursive-v5

This series depends on en/merge-ort-2 (it does NOT depend on en/merge-ort-3
and can thus be reviewed/merged independently of it).

This short series adds handling of recursive merges (merging of multiple
merge-bases to create a virtual merge base) to merge-ort. With this short
series the number of test failures under GIT_TEST_MERGE_ALGORITHM=ort drops
by 801 (from 1448 to 647).

Changes since v4:

 * add an earlier patch in the series that moves reverse_commit_list(),
   as-is, to commit.c. This also shrinks what is now the second patch.

Elijah Newren (4):
  commit: move reverse_commit_list() from merge-recursive
  merge-ort: copy a few small helper functions from merge-recursive.c
  merge-ort: make clear_internal_opts() aware of partial clearing
  merge-ort: implement merge_incore_recursive()

 commit.c          |  11 +++++
 commit.h          |   3 ++
 merge-ort.c       | 121 +++++++++++++++++++++++++++++++++++++++++++---
 merge-ort.h       |  10 ++++
 merge-recursive.c |  11 -----
 5 files changed, 138 insertions(+), 18 deletions(-)

base-commit: c5a6f65527aa3b6f5d7cf25437a88d8727ab0646

Submitted-As: https://lore.kernel.org/git/pull.814.v5.git.1608157682.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.814.git.1608054807.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.814.v2.git.1608097965.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.814.v3.git.1608139034.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.814.v4.git.1608150919.gitgitgadget@gmail.com
Assets 2