diff options
author | Elijah Newren <newren@gmail.com> | 2020-12-16 22:28:00 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-12-16 21:56:39 -0800 |
commit | 4296d8f17d45465c9712fab099a1a6787a8e9913 (patch) | |
tree | 4249eb4ebb468246cfba73153ca2242c822f841a | |
parent | commit: move reverse_commit_list() from merge-recursive (diff) | |
download | tgif-4296d8f17d45465c9712fab099a1a6787a8e9913.tar.xz |
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>
-rw-r--r-- | merge-ort.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/merge-ort.c b/merge-ort.c index 414e7b7eea..6eac0cef49 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -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 */ |