]> git.ipfire.org Git - thirdparty/git.git/commit
unpack-trees: ensure full index
authorDerrick Stolee <dstolee@microsoft.com>
Tue, 30 Mar 2021 13:10:52 +0000 (13:10 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 30 Mar 2021 19:57:46 +0000 (12:57 -0700)
commit6863df355038dd2d30ac9899bdb304d8a57523af
tree6df3bb6320d6e19cd9c5cda10f181e85aa8d2e44
parent2782db3eed808c2a5097ccd5af813d3338c5f313
unpack-trees: ensure full index

The next change will translate full indexes into sparse indexes at write
time. The existing logic provides a way for every sparse index to be
expanded to a full index at read time. However, there are cases where an
index is written and then continues to be used in-memory to perform
further updates.

unpack_trees() is frequently called after such a write. In particular,
commands like 'git reset' do this double-update of the index.

Ensure that we have a full index when entering unpack_trees(), but only
when command_requires_full_index is true. This is always true at the
moment, but we will later relax that after unpack_trees() is updated to
handle sparse directory entries.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
unpack-trees.c