1#!/bin/sh
2
3test_description='git fsck random collection of tests'
4
5. ./test-lib.sh
6
7test_expect_success setup '
8 test_commit A fileA one &&
9 git checkout HEAD^0 &&
10 test_commit B fileB two &&
11 git tag -d A B &&
12 git reflog expire --expire=now --all
13'
14
15test_expect_success 'HEAD is part of refs' '
16 test 0 = $(git fsck | wc -l)
17'
18
19test_expect_success 'loose objects borrowed from alternate are not missing' '
20 mkdir another &&
21 (
22 cd another &&
23 git init &&
24 echo ../../../.git/objects >.git/objects/info/alternates &&
25 test_commit C fileC one &&
26 git fsck >out &&
27 ! grep "missing blob" out
28 )
29'
30
31test_done