From: Derrick Stolee <redacted>
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 <redacted>
---
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