aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--midx.c2
-rwxr-xr-xt/t5319-multi-pack-index.sh8
2 files changed, 8 insertions, 2 deletions
diff --git a/midx.c b/midx.c
index f29afc0d2d..62101c7608 100644
--- a/midx.c
+++ b/midx.c
@@ -285,7 +285,7 @@ static int nth_midxed_pack_entry(struct repository *r,
pack_int_id = nth_midxed_pack_int_id(m, pos);
if (prepare_midx_pack(r, m, pack_int_id))
- die(_("error preparing packfile from multi-pack-index"));
+ return 0;
p = m->packs[pack_int_id];
/*
diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh
index 98c7c9df15..27c7eb906a 100755
--- a/t/t5319-multi-pack-index.sh
+++ b/t/t5319-multi-pack-index.sh
@@ -547,7 +547,7 @@ test_expect_success 'repack --batch-size=0 repacks everything' '
)
'
-test_expect_success 'load reverse index when missing .idx' '
+test_expect_success 'load reverse index when missing .idx, .pack' '
git init repo &&
test_when_finished "rm -fr repo" &&
(
@@ -560,9 +560,15 @@ test_expect_success 'load reverse index when missing .idx' '
git multi-pack-index write &&
git rev-parse HEAD >tip &&
+ pack=$(ls .git/objects/pack/pack-*.pack) &&
idx=$(ls .git/objects/pack/pack-*.idx) &&
mv $idx $idx.bak &&
+ git cat-file --batch-check="%(objectsize:disk)" <tip &&
+
+ mv $idx.bak $idx &&
+
+ mv $pack $pack.bak &&
git cat-file --batch-check="%(objectsize:disk)" <tip
)
'