summaryrefslogtreecommitdiff
path: root/t/t5319-multi-pack-index.sh
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2018-08-20 16:52:00 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-20 22:31:39 (GMT)
commit29e2016b8f952c900b2f4ce148be5279c53fd9e3 (patch)
tree7c9b371530a900db71fb28070a16a3264534320e /t/t5319-multi-pack-index.sh
parentfe86c3beb5893edd4e5648dab8cca66d6cc2e77d (diff)
downloadgit-29e2016b8f952c900b2f4ce148be5279c53fd9e3.zip
git-29e2016b8f952c900b2f4ce148be5279c53fd9e3.tar.gz
git-29e2016b8f952c900b2f4ce148be5279c53fd9e3.tar.bz2
midx: fix bug that skips midx with alternates
The logic for constructing the linked list of multi-pack-indexes in the object store is incorrect. If the local object store has a multi-pack-index, but an alternate does not, then the list is dropped. Add tests that would have revealed this bug. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5319-multi-pack-index.sh')
-rwxr-xr-xt/t5319-multi-pack-index.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh
index ae1d5d4..4b6e282 100755
--- a/t/t5319-multi-pack-index.sh
+++ b/t/t5319-multi-pack-index.sh
@@ -149,6 +149,23 @@ test_expect_success 'repack removes multi-pack-index' '
compare_results_with_midx "after repack"
+test_expect_success 'multi-pack-index and alternates' '
+ git init --bare alt.git &&
+ echo $(pwd)/alt.git/objects >.git/objects/info/alternates &&
+ echo content1 >file1 &&
+ altblob=$(GIT_DIR=alt.git git hash-object -w file1) &&
+ git cat-file blob $altblob &&
+ git rev-list --all
+'
+
+compare_results_with_midx "with alternate (local midx)"
+
+test_expect_success 'multi-pack-index in an alternate' '
+ mv .git/objects/pack/* alt.git/objects/pack
+'
+
+compare_results_with_midx "with alternate (remote midx)"
+
# usage: corrupt_data <file> <pos> [<data>]
corrupt_data () {