From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> Before iterating over all cache entries, ensure that a sparse index is expanded to a full one to avoid unexpected behavior. Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> --- builtin/merge-index.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/builtin/merge-index.c b/builtin/merge-index.c index 38ea6ad6ca25..c1c4409b536d 100644 --- a/builtin/merge-index.c +++ b/builtin/merge-index.c @@ -58,6 +58,7 @@ static void merge_one_path(const char *path) static void merge_all(void) { int i; + ensure_full_index(&the_index); for (i = 0; i < active_nr; i++) { const struct cache_entry *ce = active_cache[i]; if (!ce_stage(ce)) @@ -80,6 +81,8 @@ int cmd_merge_index(int argc, const char **argv, const char *prefix) read_cache(); + ensure_full_index(&the_index); + i = 1; if (!strcmp(argv[i], "-o")) { one_shot = 1; -- gitgitgadget