diff options
author | Brandon Casey <drafnel@gmail.com> | 2008-11-09 23:59:56 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-11-12 10:29:22 -0800 |
commit | 3c3df429106770966397086b6d2bced452ec7383 (patch) | |
tree | 09dd15317b9ec9619f4c42fb844851bdafa67f92 /t | |
parent | builtin-gc.c: use new pack_keep bitfield to detect .keep file existence (diff) | |
download | tgif-3c3df429106770966397086b6d2bced452ec7383.tar.xz |
t7700: demonstrate mishandling of loose objects in an alternate ODB
Loose objects residing in an alternate object database should not be packed
when the -l option to repack is used.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t7700-repack.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh index 356afe371b..43c9cf9139 100755 --- a/t/t7700-repack.sh +++ b/t/t7700-repack.sh @@ -34,5 +34,24 @@ test_expect_success 'objects in packs marked .keep are not repacked' ' test -z "$found_duplicate_object" ' +test_expect_failure 'loose objects in alternate ODB are not repacked' ' + mkdir alt_objects && + echo `pwd`/alt_objects > .git/objects/info/alternates && + echo content3 > file3 && + objsha1=$(GIT_OBJECT_DIRECTORY=alt_objects git hash-object -w file3) && + git add file3 && + git commit -m commit_file3 && + git repack -a -d -l && + git prune-packed && + for p in .git/objects/pack/*.idx; do + if git verify-pack -v $p | egrep "^$objsha1"; then + found_duplicate_object=1 + echo "DUPLICATE OBJECT FOUND" + break + fi + done && + test -z "$found_duplicate_object" +' + test_done |