mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
Merge branch 'jc/maint-do-not-switch-to-non-commit'
* jc/maint-do-not-switch-to-non-commit: git checkout: do not allow switching to a tree-ish that is not a commit
This commit is contained in:
commit
8ea6ae99b2
@ -681,8 +681,8 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
|
|||||||
argv++;
|
argv++;
|
||||||
argc--;
|
argc--;
|
||||||
|
|
||||||
|
new.name = arg;
|
||||||
if ((new.commit = lookup_commit_reference_gently(rev, 1))) {
|
if ((new.commit = lookup_commit_reference_gently(rev, 1))) {
|
||||||
new.name = arg;
|
|
||||||
setup_branch_path(&new);
|
setup_branch_path(&new);
|
||||||
if (resolve_ref(new.path, rev, 1, NULL))
|
if (resolve_ref(new.path, rev, 1, NULL))
|
||||||
new.commit = lookup_commit_reference(rev);
|
new.commit = lookup_commit_reference(rev);
|
||||||
|
@ -10,6 +10,10 @@ test_expect_success 'setup' '
|
|||||||
git commit -m initial
|
git commit -m initial
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'checkout should not start branch from a tree' '
|
||||||
|
test_must_fail git checkout -b newbranch master^{tree}
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'checkout master from invalid HEAD' '
|
test_expect_success 'checkout master from invalid HEAD' '
|
||||||
echo 0000000000000000000000000000000000000000 >.git/HEAD &&
|
echo 0000000000000000000000000000000000000000 >.git/HEAD &&
|
||||||
git checkout master --
|
git checkout master --
|
||||||
|
Loading…
Reference in New Issue
Block a user