apply: adjust messages to account for --3way changes

"git apply" specifically calls out when it is falling back to 3way
merge application.  Since the order changed to preferring 3way and
falling back to direct application, continue that behavior by
printing whenever 3way fails and git has to fall back.

Signed-off-by: Jerry Zhang <jerry@skydio.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jerry Zhang 2021-04-28 19:35:03 -07:00 committed by Junio C Hamano
parent 923cd87ac8
commit 526705fd3d

View File

@ -3572,7 +3572,7 @@ static int try_threeway(struct apply_state *state,
read_blob_object(&buf, &pre_oid, patch->old_mode)) read_blob_object(&buf, &pre_oid, patch->old_mode))
return error(_("repository lacks the necessary blob to perform 3-way merge.")); return error(_("repository lacks the necessary blob to perform 3-way merge."));
if (state->apply_verbosity > verbosity_silent) if (state->apply_verbosity > verbosity_silent && patch->direct_to_threeway)
fprintf(stderr, _("Performing three-way merge...\n")); fprintf(stderr, _("Performing three-way merge...\n"));
img = strbuf_detach(&buf, &len); img = strbuf_detach(&buf, &len);
@ -3639,6 +3639,10 @@ static int apply_data(struct apply_state *state, struct patch *patch,
return -1; return -1;
if (!state->threeway || try_threeway(state, &image, patch, st, ce) < 0) { if (!state->threeway || try_threeway(state, &image, patch, st, ce) < 0) {
if (state->apply_verbosity > verbosity_silent &&
state->threeway && !patch->direct_to_threeway)
fprintf(stderr, _("Falling back to direct application...\n"));
/* Note: with --reject, apply_fragments() returns 0 */ /* Note: with --reject, apply_fragments() returns 0 */
if (patch->direct_to_threeway || apply_fragments(state, &image, patch) < 0) if (patch->direct_to_threeway || apply_fragments(state, &image, patch) < 0)
return -1; return -1;