config: create core.multiPackIndex setting
authorDerrick Stolee <stolee@gmail.com>
Thu, 12 Jul 2018 19:39:33 +0000 (15:39 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 20 Jul 2018 18:27:28 +0000 (11:27 -0700)
commitc4d25228ebb22a60f1fcb267e19c503bab708cdc
tree8367a0857c798421013fae47e8006cdab8d5a4af
parent662148c4356620f6567b0a689602079339ebadb7
config: create core.multiPackIndex setting

The core.multiPackIndex config setting controls the multi-pack-
index (MIDX) feature. If false, the setting will disable all reads
from the multi-pack-index file.

Read this config setting in the new prepare_multi_pack_index_one()
which is called during prepare_packed_git(). This check is run once
per repository.

Add comparison commands in t5319-multi-pack-index.sh to check
typical Git behavior remains the same as the config setting is turned
on and off. This currently includes 'git rev-list' and 'git log'
commands to trigger several object database reads. Currently, these
would only catch an error in the prepare_multi_pack_index_one(), but
with later commits will catch errors in object lookups, abbreviations,
and approximate object counts.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
midx.c
midx.h
object-store.h
packfile.c
t/t5319-multi-pack-index.sh