]> git.ipfire.org Git - thirdparty/git.git/commitdiff
apply: adjust messages to account for --3way changes
authorJerry Zhang <jerry@skydio.com>
Thu, 29 Apr 2021 02:35:03 +0000 (19:35 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 29 Apr 2021 03:27:45 +0000 (12:27 +0900)
"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>
apply.c

diff --git a/apply.c b/apply.c
index 69197268ccccbc18d70b865e47d5e3f062c0771a..5027aa0bb376b111c5d317f9b0129088aa825407 100644 (file)
--- a/apply.c
+++ b/apply.c
@@ -3572,7 +3572,7 @@ static int try_threeway(struct apply_state *state,
                 read_blob_object(&buf, &pre_oid, patch->old_mode))
                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"));
 
        img = strbuf_detach(&buf, &len);
@@ -3639,6 +3639,10 @@ static int apply_data(struct apply_state *state, struct patch *patch,
                return -1;
 
        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 */
                if (patch->direct_to_threeway || apply_fragments(state, &image, patch) < 0)
                        return -1;