diff options
author | Martin Koegler <mkoegler@auto.tuwien.ac.at> | 2008-03-07 08:39:53 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-07 00:36:56 -0800 |
commit | 38a5739dfadd41c9e45bb05ed6fe1559895360cb (patch) | |
tree | 507ead1f3325d195f840200477b555664474b654 /t/t5300-pack-object.sh | |
parent | 20dc0016eebdfabbbffe8fc98364fed855ce59a4 (diff) | |
download | git-38a5739dfadd41c9e45bb05ed6fe1559895360cb.tar.gz |
t5300: add test for "index-pack --strict"
This adds test for indexing packs with --strict option, basically the same
as c0e809e (t5300: add test for "unpack-objects --strict") has done for
unpack-objects.
Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5300-pack-object.sh')
-rwxr-xr-x | t/t5300-pack-object.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh index 7647f2142b..007b136fe6 100755 --- a/t/t5300-pack-object.sh +++ b/t/t5300-pack-object.sh @@ -322,4 +322,51 @@ test_expect_success 'unpacking with --strict' ' ) ' +test_expect_success 'index-pack with --strict' ' + + for j in a b c d e f g + do + for i in 0 1 2 3 4 5 6 7 8 9 + do + o=$(echo $j$i | git hash-object -w --stdin) && + echo "100644 $o 0 $j$i" + done + done >LIST && + rm -f .git/index && + git update-index --index-info <LIST && + LIST=$(git write-tree) && + rm -f .git/index && + head -n 10 LIST | git update-index --index-info && + LI=$(git write-tree) && + rm -f .git/index && + tail -n 10 LIST | git update-index --index-info && + ST=$(git write-tree) && + PACK5=$( git rev-list --objects "$LIST" "$LI" "$ST" | \ + git pack-objects test-5 ) && + PACK6=$( ( + echo "$LIST" + echo "$LI" + echo "$ST" + ) | git pack-objects test-6 ) && + test_create_repo test-7 && + ( + cd test-7 && + git index-pack --strict --stdin <../test-5-$PACK5.pack && + git ls-tree -r $LIST && + git ls-tree -r $LI && + git ls-tree -r $ST + ) && + test_create_repo test-8 && + ( + # tree-only into empty repo -- many unreachables + cd test-8 && + test_must_fail git index-pack --strict --stdin <../test-6-$PACK6.pack + ) && + ( + # already populated -- no unreachables + cd test-7 && + git index-pack --strict --stdin <../test-6-$PACK6.pack + ) +' + test_done |