Subject: [PATCH 09/27] difftool: ensure full index

From: "Derrick Stolee via GitGitGadget" <[email-masked]>
Date: Tue, 16 Mar 2021 21:16:57 +0000

From: Derrick Stolee <[email-masked]>

Before iterating over all cache entries, ensure that a sparse index has
been expanded to a full one to avoid unexpected behavior.

Signed-off-by: Derrick Stolee <[email-masked]>
---
 builtin/difftool.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/builtin/difftool.c b/builtin/difftool.c
index 6e18e623fddf..1d62f77efa61 100644
--- a/builtin/difftool.c
+++ b/builtin/difftool.c
@@ -584,6 +584,8 @@ static int run_dir_diff(const char *extcmd, int symlinks, const char *prefix,
 		setenv("GIT_DIFFTOOL_DIRDIFF", "true", 1);
 	rc = run_command_v_opt(helper_argv, flags);
 
+	ensure_full_index(&wtindex);
+
 	/*
 	 * If the diff includes working copy files and those
 	 * files were modified during the diff, then the changes
-- 
gitgitgadget