merge-ort: copy a few small helper functions from merge-recursive.c

In a subsequent commit, we will implement the traditional recursiveness
that gave merge-recursive its name, namely merging non-unique
merge-bases to come up with a single virtual merge base.  Copy a few
helper functions from merge-recursive.c that we will use in the
implementation.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Elijah Newren 2020-12-16 22:28:00 +00:00 committed by Junio C Hamano
parent b0ca120554
commit 4296d8f17d
1 changed files with 20 additions and 0 deletions

View File

@ -17,8 +17,10 @@
#include "cache.h"
#include "merge-ort.h"

#include "alloc.h"
#include "blob.h"
#include "cache-tree.h"
#include "commit.h"
#include "commit-reach.h"
#include "diff.h"
#include "diffcore.h"
@ -1348,6 +1350,24 @@ void merge_finalize(struct merge_options *opt,

/*** Function Grouping: helper functions for merge_incore_*() ***/

static inline void set_commit_tree(struct commit *c, struct tree *t)
{
c->maybe_tree = t;
}

MAYBE_UNUSED
static struct commit *make_virtual_commit(struct repository *repo,
struct tree *tree,
const char *comment)
{
struct commit *commit = alloc_commit_node(repo);

set_merge_remote_desc(commit, comment, (struct object *)commit);
set_commit_tree(commit, tree);
commit->object.parsed = 1;
return commit;
}

static void merge_start(struct merge_options *opt, struct merge_result *result)
{
/* Sanity checks on opt */