mirror of
https://github.com/git/git
synced 2024-11-04 16:17:49 +00:00
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 <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c4e3af6d97
commit
f85a032c67
1 changed files with 7 additions and 10 deletions
|
@ -29,36 +29,33 @@ test_expect_success REFFILES 'checkout notices failure to lock HEAD' '
|
|||
test_must_fail git checkout -b other
|
||||
'
|
||||
|
||||
test_expect_success REFFILES 'create ref directory/file conflict scenario' '
|
||||
test_expect_success 'create ref directory/file conflict scenario' '
|
||||
git update-ref refs/heads/outer/inner main &&
|
||||
|
||||
# do not rely on symbolic-ref to get a known state,
|
||||
# as it may use the same code we are testing
|
||||
reset_to_df () {
|
||||
echo "ref: refs/heads/outer" >.git/HEAD
|
||||
git symbolic-ref HEAD refs/heads/outer
|
||||
}
|
||||
'
|
||||
|
||||
test_expect_success REFFILES 'checkout away from d/f HEAD (unpacked, to branch)' '
|
||||
test_expect_success 'checkout away from d/f HEAD (unpacked, to branch)' '
|
||||
reset_to_df &&
|
||||
git checkout main
|
||||
'
|
||||
|
||||
test_expect_success REFFILES 'checkout away from d/f HEAD (unpacked, to detached)' '
|
||||
test_expect_success 'checkout away from d/f HEAD (unpacked, to detached)' '
|
||||
reset_to_df &&
|
||||
git checkout --detach main
|
||||
'
|
||||
|
||||
test_expect_success REFFILES 'pack refs' '
|
||||
test_expect_success 'pack refs' '
|
||||
git pack-refs --all --prune
|
||||
'
|
||||
|
||||
test_expect_success REFFILES 'checkout away from d/f HEAD (packed, to branch)' '
|
||||
test_expect_success 'checkout away from d/f HEAD (packed, to branch)' '
|
||||
reset_to_df &&
|
||||
git checkout main
|
||||
'
|
||||
|
||||
test_expect_success REFFILES 'checkout away from d/f HEAD (packed, to detached)' '
|
||||
test_expect_success 'checkout away from d/f HEAD (packed, to detached)' '
|
||||
reset_to_df &&
|
||||
git checkout --detach main
|
||||
'
|
||||
|
|
Loading…
Reference in a new issue