@matheusbsbs / matheus-bagliano / commits / 3289b9dec5
Fork 0

t7700: test that 'repack -a' packs alternate packed objects

Previously, when 'repack -a' was called and there were no packs in the local repository without a .keep file, the repack would fall back to calling pack-objects with '--unpacked --incremental'. This resulted in the created pack file, if any, to be missing the packed objects in the alternate object store. Test that this specific case has been fixed. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Brandon Casey committed Nov 12, 2008 at 18:50 UTC 3289b9dec56d34fe05f90c262d11adc0a61e16e7
1 file changed +16
t/t7700-repack.sh
+16
@@ -53,5 +53,21 @@ test_expect_success 'loose objects in alternate ODB are not repacked' '
53 test -z "$found_duplicate_object"
54 '
55
56 +test_expect_success 'packed obs in alt ODB are repacked even when local repo is packless' '
57 + mkdir alt_objects/pack
58 + mv .git/objects/pack/* alt_objects/pack &&
59 + git repack -a &&
60 + myidx=$(ls -1 .git/objects/pack/*.idx) &&
61 + test -f "$myidx" &&
62 + for p in alt_objects/pack/*.idx; do
63 + git verify-pack -v $p | sed -n -e "/^[0-9a-f]\{40\}/p"
64 + done | while read sha1 rest; do
65 + if ! ( git verify-pack -v $myidx | grep "^$sha1" ); then
66 + echo "Missing object in local pack: $sha1"
67 + return 1
68 + fi
69 + done
70 +'
71 +
72 test_done
73