t1400-update-ref: Add test verifying bug with symrefs in delete_ref()
When deleting a ref through a symref (e.g. using 'git update-ref -d HEAD' to delete refs/heads/master), we currently fail to remove the packed version of that ref. This testcase demonstrates the bug. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
13baa9fe86
commit
75c96e05ce
@ -74,6 +74,24 @@ test_expect_success "delete $m (by HEAD)" '
|
||||
'
|
||||
rm -f .git/$m
|
||||
|
||||
test_expect_success \
|
||||
"create $m (by HEAD)" \
|
||||
"git update-ref HEAD $A &&
|
||||
test $A"' = $(cat .git/'"$m"')'
|
||||
test_expect_success \
|
||||
"pack refs" \
|
||||
"git pack-refs --all"
|
||||
test_expect_success \
|
||||
"move $m (by HEAD)" \
|
||||
"git update-ref HEAD $B $A &&
|
||||
test $B"' = $(cat .git/'"$m"')'
|
||||
test_expect_failure "delete $m (by HEAD) should remove both packed and loose $m" '
|
||||
git update-ref -d HEAD $B &&
|
||||
! grep "$m" .git/packed-refs &&
|
||||
! test -f .git/$m
|
||||
'
|
||||
rm -f .git/$m
|
||||
|
||||
cp -f .git/HEAD .git/HEAD.orig
|
||||
test_expect_success "delete symref without dereference" '
|
||||
git update-ref --no-deref -d HEAD &&
|
||||
|
Loading…
Reference in New Issue
Block a user