From: Derrick Stolee Date: Thu, 1 Apr 2021 01:49:59 +0000 (+0000) Subject: resolve-undo: ensure full index X-Git-Tag: v2.32.0-rc0~59^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dc26b23ebc30adcb4aa54a5eccf2e47793984fa2;p=thirdparty%2Fgit.git resolve-undo: ensure full index Before iterating over all cache entries, ensure that a sparse index is expanded to a full index to avoid unexpected behavior. Signed-off-by: Derrick Stolee Reviewed-by: Elijah Newren Signed-off-by: Junio C Hamano --- diff --git a/resolve-undo.c b/resolve-undo.c index 236320f179..ee36ca58b1 100644 --- a/resolve-undo.c +++ b/resolve-undo.c @@ -172,6 +172,8 @@ void unmerge_marked_index(struct index_state *istate) if (!istate->resolve_undo) return; + /* TODO: audit for interaction with sparse-index. */ + ensure_full_index(istate); for (i = 0; i < istate->cache_nr; i++) { const struct cache_entry *ce = istate->cache[i]; if (ce->ce_flags & CE_MATCHED) @@ -186,6 +188,8 @@ void unmerge_index(struct index_state *istate, const struct pathspec *pathspec) if (!istate->resolve_undo) return; + /* TODO: audit for interaction with sparse-index. */ + ensure_full_index(istate); for (i = 0; i < istate->cache_nr; i++) { const struct cache_entry *ce = istate->cache[i]; if (!ce_path_match(istate, ce, pathspec, NULL))