[PATCH v3 08/13] sparse-checkout: avoid using internal API of unpack-trees, take 2
- From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 27, 2023, 15:28 UTC
- Message-ID
- <09140cb2ac53773eae19f06e51d6276e03689fc1.1677511700.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1149.v3.git.1677511700.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
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 initialized.
Signed-off-by: Elijah Newren <newren@gmail.com> --- builtin/sparse-checkout.c | 1 - unpack-trees.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index 4b7390ce367..8d5ae6f2a60 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -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; setup_work_tree(); diff --git a/unpack-trees.c b/unpack-trees.c index 6e4ca6fe800..c8dacd76c5f 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -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)
-- gitgitgadget