summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2022-01-10 11:52:54 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2022-01-10 11:52:54 -0800
commit0669bdf4ebc095a2b26654292e1ff38245ccf88a (patch)
treee1cbee05b782fabade7aefc3767ffdbf28f75dfd /builtin
parentMerge branch 'ab/usage-die-message' (diff)
parentconfig: require lowercase for branch.*.autosetupmerge (diff)
downloadtgif-0669bdf4ebc095a2b26654292e1ff38245ccf88a.tar.xz
Merge branch 'js/branch-track-inherit'
"git -c branch.autosetupmerge=inherit branch new old" makes "new" to have the same upstream as the "old" branch, instead of marking "old" itself as its upstream. * js/branch-track-inherit: config: require lowercase for branch.*.autosetupmerge branch: add flags and config to inherit tracking branch: accept multiple upstream branches for tracking
Diffstat (limited to 'builtin')
-rw-r--r--builtin/branch.c6
-rw-r--r--builtin/checkout.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/builtin/branch.c b/builtin/branch.c
index 6c8b0fcc11..78ce5da832 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -638,8 +638,10 @@ 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_SET_INT('t', "track", &track, N_("set up tracking mode (see git-pull(1))"),
- BRANCH_TRACK_EXPLICIT),
+ OPT_CALLBACK_F('t', "track", &track, "direct|inherit",
+ N_("set branch tracking configuration"),
+ PARSE_OPT_OPTARG | PARSE_OPT_LITERAL_ARGHELP,
+ parse_opt_tracking_mode),
OPT_SET_INT_F(0, "set-upstream", &track, N_("do not use"),
BRANCH_TRACK_OVERRIDE, PARSE_OPT_HIDDEN),
OPT_STRING('u', "set-upstream-to", &new_upstream, N_("upstream"), N_("change the upstream info")),
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 72beeb49aa..bbbfabb871 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -1549,8 +1549,10 @@ 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_SET_INT('t', "track", &opts->track, N_("set upstream info for new branch"),
- BRANCH_TRACK_EXPLICIT),
+ 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,
+ parse_opt_tracking_mode),
OPT__FORCE(&opts->force, N_("force checkout (throw away local modifications)"),
PARSE_OPT_NOCOMPLETE),
OPT_STRING(0, "orphan", &opts->new_orphan_branch, N_("new-branch"), N_("new unparented branch")),