Browse Source

Merge branch 'nd/switch-and-restore'

Resurrect a performance hack.

* nd/switch-and-restore:
  checkout: add simple check for 'git checkout -b'
maint
Junio C Hamano 5 years ago
parent
commit
3ff6af7753
  1. 9
      builtin/checkout.c

9
builtin/checkout.c

@ -1708,6 +1708,15 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) @@ -1708,6 +1708,15 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
opts.checkout_index = -2; /* default on */
opts.checkout_worktree = -2; /* default on */

if (argc == 3 && !strcmp(argv[1], "-b")) {
/*
* User ran 'git checkout -b <branch>' and expects
* the same behavior as 'git switch -c <branch>'.
*/
opts.switch_branch_doing_nothing_is_ok = 0;
opts.only_merge_on_switching_branches = 1;
}

options = parse_options_dup(checkout_options);
options = add_common_options(&opts, options);
options = add_common_switch_branch_options(&opts, options);

Loading…
Cancel
Save