Skip to content

Commit f85a032

Browse files
pks-tgitster
authored andcommitted
t2011: exercise D/F conflicts with HEAD with the reftable backend
Some of the tests in t2011 exercise whether it is possible to move away from a symbolic HEAD ref whose target ref has a directory-file conflict with another, preexisting ref. These tests don't use git-symbolic-ref(1) but manually write HEAD. This is supposedly done to avoid using logic that we're about to exercise, but it makes it impossible to verify whether the logic also works for ref backends other than "files". Refactor the code to use git-symbolic-ref(1) instead so that the tests work with the "reftable" backend, as well. We already have lots of tests in t1404 that ensure that both git-update-ref(1) and git-symbolic-ref(1) work in such a scenario, so it should be safe to rely on it here. Signed-off-by: Patrick Steinhardt <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent c4e3af6 commit f85a032

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

t/t2011-checkout-invalid-head.sh

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,36 +29,33 @@ test_expect_success REFFILES 'checkout notices failure to lock HEAD' '
2929
test_must_fail git checkout -b other
3030
'
3131

32-
test_expect_success REFFILES 'create ref directory/file conflict scenario' '
32+
test_expect_success 'create ref directory/file conflict scenario' '
3333
git update-ref refs/heads/outer/inner main &&
34-
35-
# do not rely on symbolic-ref to get a known state,
36-
# as it may use the same code we are testing
3734
reset_to_df () {
38-
echo "ref: refs/heads/outer" >.git/HEAD
35+
git symbolic-ref HEAD refs/heads/outer
3936
}
4037
'
4138

42-
test_expect_success REFFILES 'checkout away from d/f HEAD (unpacked, to branch)' '
39+
test_expect_success 'checkout away from d/f HEAD (unpacked, to branch)' '
4340
reset_to_df &&
4441
git checkout main
4542
'
4643

47-
test_expect_success REFFILES 'checkout away from d/f HEAD (unpacked, to detached)' '
44+
test_expect_success 'checkout away from d/f HEAD (unpacked, to detached)' '
4845
reset_to_df &&
4946
git checkout --detach main
5047
'
5148

52-
test_expect_success REFFILES 'pack refs' '
49+
test_expect_success 'pack refs' '
5350
git pack-refs --all --prune
5451
'
5552

56-
test_expect_success REFFILES 'checkout away from d/f HEAD (packed, to branch)' '
53+
test_expect_success 'checkout away from d/f HEAD (packed, to branch)' '
5754
reset_to_df &&
5855
git checkout main
5956
'
6057

61-
test_expect_success REFFILES 'checkout away from d/f HEAD (packed, to detached)' '
58+
test_expect_success 'checkout away from d/f HEAD (packed, to detached)' '
6259
reset_to_df &&
6360
git checkout --detach main
6461
'

0 commit comments

Comments
 (0)