[PATCH] t7700: test that 'repack -a' packs alternate packed objects
From: Brandon Casey <hidden>
Date: 2016-06-15 22:45:38
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- Here is a test to demonstrate what [PATCH 5/6] repack: do not fall back to incremental repacking with [-a|-A] fixes. This should apply cleanly to next since it includes a836cfa3 t7700: demonstrate mishandling of loose objects in an alternate ODB which has a few context lines showing through in the diff below. -brandon t/t7700-repack.sh | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh
index 960bff4..3f602ea 100755
--- a/t/t7700-repack.sh
+++ b/t/t7700-repack.sh@@ -53,5 +53,21 @@ test_expect_success 'loose objects in alternate ODB are not repacked' ' test -z "$found_duplicate_object" ' +test_expect_success 'packed obs in alt ODB are repacked even when local repo is packless' ' + mkdir alt_objects/pack + mv .git/objects/pack/* alt_objects/pack && + git repack -a && + myidx=$(ls -1 .git/objects/pack/*.idx) && + test -f "$myidx" && + for p in alt_objects/pack/*.idx; do + git verify-pack -v $p | sed -n -e "/^[0-9a-f]\{40\}/p" + done | while read sha1 rest; do + if ! ( git verify-pack -v $myidx | grep "^$sha1" ); then + echo "Missing object in local pack: $sha1" + return 1 + fi + done +' + test_done
--
1.6.0.3.552.g12334