Git 1.6.6.1
[git/mingw/4msysgit/kblees.git] / t / t5307-pack-missing-commit.sh
blobae52a1882df65a05c2916450ff6101012b12ee6d
1 #!/bin/sh
3 test_description='pack should notice missing commit objects'
5 . ./test-lib.sh
7 test_expect_success setup '
8 for i in 1 2 3 4 5
9 do
10 echo "$i" >"file$i" &&
11 git add "file$i" &&
12 test_tick &&
13 git commit -m "$i" &&
14 git tag "tag$i"
15 done &&
16 obj=$(git rev-parse --verify tag3) &&
17 fanout=$(expr "$obj" : "\(..\)") &&
18 remainder=$(expr "$obj" : "..\(.*\)") &&
19 rm -f ".git/objects/$fanout/$remainder"
22 test_expect_success 'check corruption' '
23 test_must_fail git fsck
26 test_expect_success 'rev-list notices corruption (1)' '
27 test_must_fail git rev-list HEAD
30 test_expect_success 'rev-list notices corruption (2)' '
31 test_must_fail git rev-list --objects HEAD
34 test_expect_success 'pack-objects notices corruption' '
35 echo HEAD |
36 test_must_fail git pack-objects --revs pack
39 test_done