Merge branch 'cw/no-detaching-an-unborn' into maint
"git checkout --detach", when you are still on an unborn branch, should be forbidden, but it wasn't. * cw/no-detaching-an-unborn: git-checkout: disallow --detach on unborn branch
This commit is contained in:
@ -915,6 +915,8 @@ static int switch_unborn_to_new_branch(struct checkout_opts *opts)
|
|||||||
int status;
|
int status;
|
||||||
struct strbuf branch_ref = STRBUF_INIT;
|
struct strbuf branch_ref = STRBUF_INIT;
|
||||||
|
|
||||||
|
if (!opts->new_branch)
|
||||||
|
die(_("You are on a branch yet to be born"));
|
||||||
strbuf_addf(&branch_ref, "refs/heads/%s", opts->new_branch);
|
strbuf_addf(&branch_ref, "refs/heads/%s", opts->new_branch);
|
||||||
status = create_symref("HEAD", branch_ref.buf, "checkout -b");
|
status = create_symref("HEAD", branch_ref.buf, "checkout -b");
|
||||||
strbuf_release(&branch_ref);
|
strbuf_release(&branch_ref);
|
||||||
|
@ -116,4 +116,10 @@ test_expect_success '--orphan refuses to switch if a merge is needed' '
|
|||||||
git reset --hard
|
git reset --hard
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'cannot --detach on an unborn branch' '
|
||||||
|
git checkout master &&
|
||||||
|
git checkout --orphan new &&
|
||||||
|
test_must_fail git checkout --detach
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Reference in New Issue
Block a user