Subject: Re: Should "git apply"'s option "--3way" imply "--index" in option description?

From: Junio C Hamano <[email-masked]>
Date: Fri, 30 Jul 2021 07:34:07 -0700

"[email-masked]" <[email-masked]> writes:

> like this:
>
> diff --git a/apply.c b/apply.c
> index 44bc31d6eb..0b353af96c 100644
> --- a/apply.c
> +++ b/apply.c
> @@ -5024,7 +5024,7 @@ int apply_parse_options(int argc, const char **argv,
>                 OPT_BOOL(0, "apply", force_apply,
>                         N_("also apply the patch (use with --stat/--summary/--check)")),
>                 OPT_BOOL('3', "3way", &state->threeway,
> -                        N_( "attempt three-way merge, fall back on normal patch if that fails")),
> +                        N_( "attempt three-way merge, fall back on normal patch if that fails(implies --index)")),
>                 OPT_FILENAME(0, "build-fake-ancestor", &state->fake_ancestor,
>                         N_("build a temporary index based on embedded index information")),
>                 /* Think twice before adding "--nul" synonym to this */

It is not incorrect per-se, but because "--3way" implies "--index"
only when "--cached" is not in effect, it may do more harm than it
helps to mention only just the "--index" half of the story.

If we were to touch that line, I'd just chop off "if that fails" at
the end---the phrase "fall back" already tells readers that it happens
only when the non-fallback action does not work.

Thanks.