From: Derrick Stolee via GitGitGadget Date: Tue, 16 Mar 2021 21:17:12 GMT Subject: [PATCH 24/27] resolve-undo: ensure full index Message-ID: <39e8bea0c1cadaf2a59760bea13025415569476f.1615929436.git.gitgitgadget@gmail.com> In-Reply-To: From: Derrick Stolee 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 --- resolve-undo.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resolve-undo.c b/resolve-undo.c index 236320f179cb..3ccd3f66f80f 100644 --- a/resolve-undo.c +++ b/resolve-undo.c @@ -172,6 +172,7 @@ void unmerge_marked_index(struct index_state *istate) if (!istate->resolve_undo) return; + 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 +187,7 @@ void unmerge_index(struct index_state *istate, const struct pathspec *pathspec) if (!istate->resolve_undo) return; + 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)) -- gitgitgadget