aboutsummaryrefslogtreecommitdiff
path: root/t/t7201-co.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-10-21 17:58:11 -0700
committerJunio C Hamano <gitster@pobox.com>2008-10-21 17:58:11 -0700
commita157400c972bbdeab2b5629658c99839c855f5ab (patch)
tree95c9ae9bf86dcc6e2bd4a3b0b217f5bef8622b59 /t/t7201-co.sh
parent6af50f7536d559f891d08597203ba605726511d6 (diff)
parentacd3b9eca82e38950f94e4708b528b7dae09a7c8 (diff)
downloadgit-a157400c972bbdeab2b5629658c99839c855f5ab.tar.gz
git-a157400c972bbdeab2b5629658c99839c855f5ab.tar.xz
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/t7201-co.sh')
-rwxr-xr-xt/t7201-co.sh26
1 files changed, 20 insertions, 6 deletions
diff --git a/t/t7201-co.sh b/t/t7201-co.sh
index 82769b89f..0e21632f1 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>' '