| #!/bin/sh | 
 |  | 
 | test_description='packed-refs entries are covered by loose refs' | 
 |  | 
 | . ./test-lib.sh | 
 |  | 
 | test_expect_success setup ' | 
 | 	test_tick && | 
 | 	git commit --allow-empty -m one && | 
 | 	one=$(git rev-parse HEAD) && | 
 | 	git for-each-ref >actual && | 
 | 	echo "$one commit	refs/heads/master" >expect && | 
 | 	test_cmp expect actual && | 
 |  | 
 | 	git pack-refs --all && | 
 | 	git for-each-ref >actual && | 
 | 	echo "$one commit	refs/heads/master" >expect && | 
 | 	test_cmp expect actual && | 
 |  | 
 | 	git checkout --orphan another && | 
 | 	test_tick && | 
 | 	git commit --allow-empty -m two && | 
 | 	two=$(git rev-parse HEAD) && | 
 | 	git checkout -B master && | 
 | 	git branch -D another && | 
 |  | 
 | 	git for-each-ref >actual && | 
 | 	echo "$two commit	refs/heads/master" >expect && | 
 | 	test_cmp expect actual && | 
 |  | 
 | 	git reflog expire --expire=now --all && | 
 | 	git prune && | 
 | 	git tag -m v1.0 v1.0 master | 
 | ' | 
 |  | 
 | test_expect_success 'no error from stale entry in packed-refs' ' | 
 | 	git describe master >actual 2>&1 && | 
 | 	echo "v1.0" >expect && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_done |