summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Nguyễn Thái Ngọc Duy <pclouds@gmail.com>2019-03-29 17:39:06 +0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-04-02 13:56:59 +0900
commitb7b5fce2701c12895f75f8e716c629b45f105b0c (patch)
tree3c6547983d9d2d619167b5948e179f422f11cf8e /builtin
parentcheckout: split part of it to new command 'switch' (diff)
downloadtgif-b7b5fce2701c12895f75f8e716c629b45f105b0c.tar.xz
switch: better names for -b and -B
The shortcut of these options do not make much sense when used with switch. And their descriptions are also tied to checkout. Move -b/-B to cmd_checkout() and new -c/-C with the same functionality in cmd_switch_branch() Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/checkout.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 4989ca73a3..319ba372e3 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -1368,14 +1368,10 @@ static struct option *add_common_options(struct checkout_opts *opts,
return newopts;
}
-static struct option *add_switch_branch_options(struct checkout_opts *opts,
- struct option *prevopts)
+static struct option *add_common_switch_branch_options(
+ struct checkout_opts *opts, struct option *prevopts)
{
struct option options[] = {
- OPT_STRING('b', NULL, &opts->new_branch, N_("branch"),
- N_("create and checkout a new branch")),
- OPT_STRING('B', NULL, &opts->new_branch_force, N_("branch"),
- N_("create/reset and checkout a branch")),
OPT_BOOL('l', NULL, &opts->new_branch_log, N_("create reflog for new branch")),
OPT_BOOL(0, "detach", &opts->force_detach, N_("detach HEAD at named commit")),
OPT_SET_INT('t', "track", &opts->track, N_("set upstream info for new branch"),
@@ -1571,15 +1567,22 @@ static int checkout_main(int argc, const char **argv, const char *prefix,
int cmd_checkout(int argc, const char **argv, const char *prefix)
{
struct checkout_opts opts;
- struct option *options = NULL;
+ struct option *options;
+ struct option checkout_options[] = {
+ OPT_STRING('b', NULL, &opts.new_branch, N_("branch"),
+ N_("create and checkout a new branch")),
+ OPT_STRING('B', NULL, &opts.new_branch_force, N_("branch"),
+ N_("create/reset and checkout a branch")),
+ OPT_END()
+ };
int ret;
memset(&opts, 0, sizeof(opts));
opts.no_dwim_new_local_branch = 0;
- options = parse_options_dup(options);
+ options = parse_options_dup(checkout_options);
options = add_common_options(&opts, options);
- options = add_switch_branch_options(&opts, options);
+ options = add_common_switch_branch_options(&opts, options);
options = add_checkout_path_options(&opts, options);
ret = checkout_main(argc, argv, prefix, &opts,
@@ -1592,14 +1595,21 @@ int cmd_switch(int argc, const char **argv, const char *prefix)
{
struct checkout_opts opts;
struct option *options = NULL;
+ struct option switch_options[] = {
+ OPT_STRING('c', "create", &opts.new_branch, N_("branch"),
+ N_("create and switch to a new branch")),
+ OPT_STRING('C', "force-create", &opts.new_branch_force, N_("branch"),
+ N_("create/reset and switch to a branch")),
+ OPT_END()
+ };
int ret;
memset(&opts, 0, sizeof(opts));
opts.no_dwim_new_local_branch = 0;
- options = parse_options_dup(options);
+ options = parse_options_dup(switch_options);
options = add_common_options(&opts, options);
- options = add_switch_branch_options(&opts, options);
+ options = add_common_switch_branch_options(&opts, options);
ret = checkout_main(argc, argv, prefix, &opts,
options, switch_branch_usage);