Document that the accepted variants of the --track option are --track, --track=direct, and --track=inherit. The equal sign in the latter two cannot be replaced with whitespace; in general optional arguments need to be attached firmly to their option. Put "direct" consistently before "inherit", if only for the reasons that the former is the default, explained first in the documentation, and comes before the latter alphabetically. Mention both modes in the short help so that readers don't have to look them up in the full documentation. They are literal strings and thus untranslatable. PARSE_OPT_LITERAL_ARGHELP is inferred due to the pipe and parenthesis characters, so we don't have to provide that flag explicitly. Mention that -t has the same effect as --track and --track=direct. There is no way to specify inherit mode using the short option, because short options generally don't accept optional arguments. Signed-off-by: René Scharfe <l.s.r@xxxxxx> --- Documentation/git-branch.txt | 12 ++++++------ Documentation/git-checkout.txt | 2 +- builtin/branch.c | 2 +- builtin/checkout.c | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 2d52ae396b..731e340cbc 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -16,7 +16,7 @@ SYNOPSIS [--points-at <object>] [--format=<format>] [(-r | --remotes) | (-a | --all)] [--list] [<pattern>...] -'git branch' [--track [direct|inherit] | --no-track] [-f] <branchname> [<start-point>] +'git branch' [--track[=(direct|inherit)] | --no-track] [-f] <branchname> [<start-point>] 'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>] 'git branch' --unset-upstream [<branchname>] 'git branch' (-m | -M) [<oldbranch>] <newbranch> @@ -206,7 +206,7 @@ This option is only applicable in non-verbose mode. Display the full sha1s in the output listing rather than abbreviating them. -t:: ---track [inherit|direct]:: +--track[=(direct|inherit)]:: When creating a new branch, set up `branch.<name>.remote` and `branch.<name>.merge` configuration entries to set "upstream" tracking configuration for the new branch. This @@ -216,11 +216,11 @@ This option is only applicable in non-verbose mode. upstream when the new branch is checked out. + The exact upstream branch is chosen depending on the optional argument: -`--track` or `--track direct` means to use the start-point branch itself as the -upstream; `--track inherit` means to copy the upstream configuration of the -start-point branch. +`-t`, `--track`, or `--track=direct` means to use the start-point branch +itself as the upstream; `--track=inherit` means to copy the upstream +configuration of the start-point branch. + -`--track direct` is the default when the start point is a remote-tracking branch. +`--track=direct` is the default when the start point is a remote-tracking branch. Set the branch.autoSetupMerge configuration variable to `false` if you want `git switch`, `git checkout` and `git branch` to always behave as if `--no-track` were given. Set it to `always` if you want this behavior when the diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index 2a90ea6cd0..9f37e22e13 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -156,7 +156,7 @@ of it"). linkgit:git-branch[1] for details. -t:: ---track [direct|inherit]:: +--track[=(direct|inherit)]:: When creating a new branch, set up "upstream" configuration. See "--track" in linkgit:git-branch[1] for details. + diff --git a/builtin/branch.c b/builtin/branch.c index 0c8d8a8827..4ce2a24754 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -638,7 +638,7 @@ 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, N_("mode"), + OPT_CALLBACK_F('t', "track", &track, "(direct|inherit)", N_("set branch tracking configuration"), PARSE_OPT_OPTARG, parse_opt_tracking_mode), diff --git a/builtin/checkout.c b/builtin/checkout.c index 6a5dd2a2a2..0bc2e63510 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1549,7 +1549,7 @@ 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, N_("mode"), + OPT_CALLBACK_F('t', "track", &opts->track, "(direct|inherit)", N_("set branch tracking configuration"), PARSE_OPT_OPTARG, parse_opt_tracking_mode), -- 2.34.1