Skip to content

Commit 3289b9d

Browse files
drafnelgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent daae062 commit 3289b9d

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

t/t7700-repack.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,21 @@ test_expect_success 'loose objects in alternate ODB are not repacked' '
5353
test -z "$found_duplicate_object"
5454
'
5555

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+
5672
test_done
5773

0 commit comments

Comments
 (0)