summaryrefslogtreecommitdiff
path: root/t/t2011-checkout-invalid-head.sh
blob: d444d5ee417220e8428543a6c76d5839ce91b979 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh

test_description='checkout switching away from an invalid branch'

. ./test-lib.sh

test_expect_success 'setup' '
	echo hello >world &&
	git add world &&
	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' '
	echo $_z40 >.git/HEAD &&
	git checkout master --
'

test_expect_success 'checkout notices failure to lock HEAD' '
	test_when_finished "rm -f .git/HEAD.lock" &&
	>.git/HEAD.lock &&
	test_must_fail git checkout -b other
'

test_done