diff options
Diffstat (limited to 'builtin')
| -rw-r--r-- | builtin/checkout.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c index b4ab972c5a..8a8ad23e98 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1600,6 +1600,13 @@ static int checkout_branch(struct checkout_opts *opts, if (new_branch_info->path && !opts->force_detach && !opts->new_branch) die_if_switching_to_a_branch_in_use(opts, new_branch_info->path); + /* "git checkout -B <branch>" */ + if (opts->new_branch_force) { + char *full_ref = xstrfmt("refs/heads/%s", opts->new_branch); + die_if_switching_to_a_branch_in_use(opts, full_ref); + free(full_ref); + } + if (!new_branch_info->commit && opts->new_branch) { struct object_id rev; int flag; |
