[PATCH 06/10] dir: use expand_to_path() for sparse directories
From: Derrick Stolee via GitGitGadget <hidden>
Date: 2021-04-13 14:02:46
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Derrick Stolee <redacted> The recently-implemented expand_to_path() method can supply position queries a faster response if they are specifically asking for a path within the sparse cone. Since this is the most-common scenario, this provides a significant speedup. Update t1092-sparse-checkout-compatibility.sh to fully ensure that 'git status' does not expand a sparse index to a full one, even when there exist untracked files. The performance test script p2000-sparse-operations.sh demonstrates that this is the final hole to fill to allow 'git status' to speed up when using a sparse index: Test HEAD~1 HEAD ------------------------------------------------------------------------------ 2000.4: git status (sparse-index-v3) 1.50(1.43+0.10) 0.04(0.04+0.03) -97.3% 2000.5: git status (sparse-index-v4) 1.50(1.43+0.10) 0.04(0.03+0.04) -97.3% Signed-off-by: Derrick Stolee <redacted> --- t/t1092-sparse-checkout-compatibility.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh
index 380a085f8ec4..b937d7096afd 100755
--- a/t/t1092-sparse-checkout-compatibility.sh
+++ b/t/t1092-sparse-checkout-compatibility.sh@@ -456,8 +456,9 @@ test_expect_success 'sparse-index is not expanded' ' init_repos && rm -f trace2.txt && + echo >>sparse-index/untracked.txt && GIT_TRACE2_EVENT="$(pwd)/trace2.txt" GIT_TRACE2_EVENT_NESTING=10 \ - git -C sparse-index status -uno && + git -C sparse-index status && test_region ! index ensure_full_index trace2.txt '
--
gitgitgadget