Skip to content

Commit dc26b23

Browse files
derrickstoleegitster
authored andcommitted
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 <[email protected]> Reviewed-by: Elijah Newren <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 0c18c05 commit dc26b23

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

resolve-undo.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ void unmerge_marked_index(struct index_state *istate)
172172
if (!istate->resolve_undo)
173173
return;
174174

175+
/* TODO: audit for interaction with sparse-index. */
176+
ensure_full_index(istate);
175177
for (i = 0; i < istate->cache_nr; i++) {
176178
const struct cache_entry *ce = istate->cache[i];
177179
if (ce->ce_flags & CE_MATCHED)
@@ -186,6 +188,8 @@ void unmerge_index(struct index_state *istate, const struct pathspec *pathspec)
186188
if (!istate->resolve_undo)
187189
return;
188190

191+
/* TODO: audit for interaction with sparse-index. */
192+
ensure_full_index(istate);
189193
for (i = 0; i < istate->cache_nr; i++) {
190194
const struct cache_entry *ce = istate->cache[i];
191195
if (!ce_path_match(istate, ce, pathspec, NULL))

0 commit comments

Comments
 (0)