Subject: Re: [PATCH V2] git-apply: modify prints to account for --3way changes

From: Junio C Hamano <[email-masked]>
Date: Wed, 28 Apr 2021 16:32:26 +0900

Jerry Zhang <[email-masked]> writes:

> Subject: Re: [PATCH V2] git-apply: modify prints to account for --3way changes

Sorry that I missed this in the previous round, but what do you mean
by "prints" here?

> "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.

I am guessing it is safe to s/modify prints/adjust messages/ after
reading this explanation.

> Signed-off-by: Jerry Zhang <[email-masked]>
> ---
> V1 -> V2:
> - Moved --quiet flag to separate patch
>
>  apply.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/apply.c b/apply.c
> index a36d4002ca..7aa49e2048 100644
> --- 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;