]> git.ipfire.org Git - thirdparty/git.git/commit - sparse-index.c
sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
authorDerrick Stolee <dstolee@microsoft.com>
Wed, 8 Sep 2021 01:42:32 +0000 (01:42 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Sep 2021 05:41:10 +0000 (22:41 -0700)
commitce7a9f014167ccf137eb09d5546eb1e8b550f11b
tree7dac8662ce71ad191b0341adea253ac88852d257
parent77efbb366abe53792511580b96a39c636c5b0401
sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag

The convert_to_sparse() method checks for the GIT_TEST_SPARSE_INDEX
environment variable or the "index.sparse" config setting before
converting the index to a sparse one. This is for ease of use since all
current consumers are preparing to compress the index before writing it
to disk. If these settings are not enabled, then convert_to_sparse()
silently returns without doing anything.

We will add a consumer in the next change that wants to use the sparse
index as an in-memory data structure, regardless of whether the on-disk
format should be sparse.

To that end, create the SPARSE_INDEX_MEMORY_ONLY flag that will skip
these config checks when enabled. All current consumers are modified to
pass '0' in the new 'flags' parameter.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
read-cache.c
sparse-index.c
sparse-index.h