sparse-checkout: avoid using internal API of unpack-trees, take 2

Commit 2f6b1eb794 ("cache API: add a "INDEX_STATE_INIT" macro/function,
add release_index()", 2023-01-12) mistakenly added some initialization
of a member of unpack_trees_options that was intended to be
internal-only.  This initialization should be done within
update_sparsity() instead.

Note that while o->result is mostly meant for unpack_trees() and
update_sparsity() mostly operates without o->result,
check_ok_to_remove() does consult it so we need to ensure it is properly

Signed-off-by: Elijah Newren <>
Signed-off-by: Junio C Hamano <>
This commit is contained in:
Elijah Newren 2023-02-27 15:28:15 +00:00 committed by Junio C Hamano
parent 1147c56ff7
commit 33b1b4c768
2 changed files with 1 additions and 1 deletions

View File

@ -217,7 +217,6 @@ static int update_working_directory(struct pattern_list *pl)
o.head_idx = -1;
o.src_index = r->index;
o.dst_index = r->index;
index_state_init(&o.result, r);
o.skip_sparse_checkout = 0;

View File

@ -2101,6 +2101,7 @@ enum update_sparsity_result update_sparsity(struct unpack_trees_options *o,
old_show_all_errors = o->show_all_errors;
o->show_all_errors = 1;
index_state_init(&o->result, o->src_index->repo);
/* Sanity checks */
if (!o->update || o->index_only || o->skip_sparse_checkout)