]> git.ipfire.org Git - thirdparty/git.git/commitdiff
branch,checkout: fix --track usage strings
authorJosh Steadmon <steadmon@google.com>
Tue, 18 Jan 2022 20:49:46 +0000 (12:49 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Jan 2022 22:08:15 +0000 (14:08 -0800)
As Ævar pointed out in [1], the use of PARSE_OPT_LITERAL_ARGHELP with a
list of allowed parameters is not recommended. Both git-branch and
git-checkout were changed in d311566 (branch: add flags and config to
inherit tracking, 2021-12-20) to use this discouraged combination for
their --track flags.

Fix this by removing PARSE_OPT_LITERAL_ARGHELP, and changing the arghelp
to simply be "mode". Users may discover allowed values in the manual
pages.

[1]: https://lore.kernel.org/git/220111.86a6g3yqf9.gmgdl@evledraar.gmail.com/

Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/branch.c
builtin/checkout.c

index 1890afd4e57432349541e6b451b257b53720770a..2e897fef14faf8547d770511426172edf876b463 100644 (file)
@@ -632,9 +632,9 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
                OPT__VERBOSE(&filter.verbose,
                        N_("show hash and subject, give twice for upstream branch")),
                OPT__QUIET(&quiet, N_("suppress informational messages")),
-               OPT_CALLBACK_F('t', "track",  &track, "direct|inherit",
+               OPT_CALLBACK_F('t', "track",  &track, N_("mode"),
                        N_("set branch tracking configuration"),
-                       PARSE_OPT_OPTARG | PARSE_OPT_LITERAL_ARGHELP,
+                       PARSE_OPT_OPTARG,
                        parse_opt_tracking_mode),
                OPT_SET_INT_F(0, "set-upstream", &track, N_("do not use"),
                        BRANCH_TRACK_OVERRIDE, PARSE_OPT_HIDDEN),
index 8d511aa6b70635073fbd1e99c5feafb3c03e2cc8..389720acbe7b609c3db7a28da4bd58a42cc346a9 100644 (file)
@@ -1530,9 +1530,9 @@ static struct option *add_common_switch_branch_options(
 {
        struct option options[] = {
                OPT_BOOL('d', "detach", &opts->force_detach, N_("detach HEAD at named commit")),
-               OPT_CALLBACK_F('t', "track",  &opts->track, "direct|inherit",
-                       N_("set up tracking mode (see git-pull(1))"),
-                       PARSE_OPT_OPTARG | PARSE_OPT_LITERAL_ARGHELP,
+               OPT_CALLBACK_F('t', "track",  &opts->track, N_("mode"),
+                       N_("set branch tracking configuration"),
+                       PARSE_OPT_OPTARG,
                        parse_opt_tracking_mode),
                OPT__FORCE(&opts->force, N_("force checkout (throw away local modifications)"),
                           PARSE_OPT_NOCOMPLETE),