diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-10-22 04:58:11 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-10-22 04:58:11 +0400 |
commit | a157400c972bbdeab2b5629658c99839c855f5ab (patch) | |
tree | 95c9ae9bf86dcc6e2bd4a3b0b217f5bef8622b59 /t | |
parent | 6af50f7536d559f891d08597203ba605726511d6 (diff) | |
parent | acd3b9eca82e38950f94e4708b528b7dae09a7c8 (diff) |
Merge branch 'jc/maint-co-track'
* jc/maint-co-track:
Enhance hold_lock_file_for_{update,append}() API
demonstrate breakage of detached checkout with symbolic link HEAD
Fix "checkout --track -b newbranch" on detached HEAD
Conflicts:
builtin-commit.c
Diffstat (limited to 't')
-rwxr-xr-x | t/t7201-co.sh | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/t/t7201-co.sh b/t/t7201-co.sh index 82769b89fc..0e21632f19 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -330,12 +330,26 @@ test_expect_success \ test "$(git config branch.track2.merge)" git config branch.autosetupmerge false' -test_expect_success \ - 'checkout w/--track from non-branch HEAD fails' ' - git checkout -b delete-me master && - rm .git/refs/heads/delete-me && - test refs/heads/delete-me = "$(git symbolic-ref HEAD)" && - test_must_fail git checkout --track -b track' +test_expect_success 'checkout w/--track from non-branch HEAD fails' ' + git checkout master^0 && + test_must_fail git symbolic-ref HEAD && + test_must_fail git checkout --track -b track && + test_must_fail git rev-parse --verify track && + test_must_fail git symbolic-ref HEAD && + test "z$(git rev-parse master^0)" = "z$(git rev-parse HEAD)" +' + +test_expect_success 'detach a symbolic link HEAD' ' + git checkout master && + git config --bool core.prefersymlinkrefs yes && + git checkout side && + git checkout master && + it=$(git symbolic-ref HEAD) && + test "z$it" = zrefs/heads/master && + here=$(git rev-parse --verify refs/heads/master) && + git checkout side^ && + test "z$(git rev-parse --verify refs/heads/master)" = "z$here" +' test_expect_success \ 'checkout with --track fakes a sensible -b <name>' ' |