aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2023-02-27 15:28:15 +0000
committerJunio C Hamano <gitster@pobox.com>2023-02-27 08:29:51 -0800
commit33b1b4c7681703c44babdbd229cc96a3ad540569 (patch)
tree29bc60912da0e3bab3955d05a88f579f8ead221e
parentsparse-checkout: avoid using internal API of unpack-trees (diff)
downloadgit-33b1b4c7681703c44babdbd229cc96a3ad540569.tar.gz
git-33b1b4c7681703c44babdbd229cc96a3ad540569.zip
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 initialized. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/sparse-checkout.c1
-rw-r--r--unpack-trees.c1
2 files changed, 1 insertions, 1 deletions
diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c
index 4b7390ce36..8d5ae6f2a6 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 6e4ca6fe80..c8dacd76c5 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)