merge-ort: basic outline for merge_switch_to_result()

This adds a basic implementation for merge_switch_to_result(), though
just in terms of a few new empty functions that will be defined in
subsequent commits.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren 2020-12-13 08:04:23 +00:00 committed by Junio C Hamano
parent bb470f4e13
commit 9fefce68dc

View file

@ -971,13 +971,53 @@ static void process_entries(struct merge_options *opt,
string_list_clear(&dir_metadata.offsets, 0);
}
static int checkout(struct merge_options *opt,
struct tree *prev,
struct tree *next)
{
die("Not yet implemented.");
}
static int record_conflicted_index_entries(struct merge_options *opt,
struct index_state *index,
struct strmap *paths,
struct strmap *conflicted)
{
if (strmap_empty(conflicted))
return 0;
die("Not yet implemented.");
}
void merge_switch_to_result(struct merge_options *opt,
struct tree *head,
struct merge_result *result,
int update_worktree_and_index,
int display_update_msgs)
{
die("Not yet implemented");
assert(opt->priv == NULL);
if (result->clean >= 0 && update_worktree_and_index) {
struct merge_options_internal *opti = result->priv;
if (checkout(opt, head, result->tree)) {
/* failure to function */
result->clean = -1;
return;
}
if (record_conflicted_index_entries(opt, opt->repo->index,
&opti->paths,
&opti->conflicted)) {
/* failure to function */
result->clean = -1;
return;
}
}
if (display_update_msgs) {
/* TODO: print out CONFLICT and other informational messages. */
}
merge_finalize(opt, result);
}