Subject: [PATCH v3 15/26] stash: ensure full index

From: "Derrick Stolee via GitGitGadget" <[email-masked]>
Date: Mon, 12 Apr 2021 21:08:06 +0000

From: Derrick Stolee <[email-masked]>

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-masked]>
---
 builtin/stash.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/builtin/stash.c b/builtin/stash.c
index ba774cce674f..6fb7178ef2fa 100644
--- a/builtin/stash.c
+++ b/builtin/stash.c
@@ -1350,6 +1350,8 @@ static int do_push_stash(const struct pathspec *ps, const char *stash_msg, int q
 		int i;
 		char *ps_matched = xcalloc(ps->nr, 1);
 
+		/* TODO: audit for interaction with sparse-index. */
+		ensure_full_index(&the_index);
 		for (i = 0; i < active_nr; i++)
 			ce_path_match(&the_index, active_cache[i], ps,
 				      ps_matched);
-- 
gitgitgadget