]> git.ipfire.org Git - thirdparty/git.git/commit
check-attr: integrate with sparse-index
authorShuqi Liang <cheskaqiqi@gmail.com>
Fri, 11 Aug 2023 14:22:11 +0000 (10:22 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 11 Aug 2023 16:44:52 +0000 (09:44 -0700)
commitf9815878c16892aae7c5be11ac67200aef6e4ff6
tree2f3c1b37e44ea48807ca9304668c8b66a565d221
parent4723ae1007f94cbb391c4fb5a042adccd038d9ae
check-attr: integrate with sparse-index

Set the requires-full-index to false for "check-attr".

Add a test to ensure that the index is not expanded whether the files
are outside or inside the sparse-checkout cone when the sparse index is
enabled.

The `p2000` tests demonstrate a ~63% execution time reduction for
'git check-attr' using a sparse index.

Test                                            before  after
-----------------------------------------------------------------------
2000.106: git check-attr -a f2/f4/a (full-v3)    0.05   0.05 +0.0%
2000.107: git check-attr -a f2/f4/a (full-v4)    0.05   0.05 +0.0%
2000.108: git check-attr -a f2/f4/a (sparse-v3)  0.04   0.02 -50.0%
2000.109: git check-attr -a f2/f4/a (sparse-v4)  0.04   0.01 -75.0%

Helped-by: Victoria Dye <vdye@github.com>
Signed-off-by: Shuqi Liang <cheskaqiqi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/check-attr.c
t/perf/p2000-sparse-operations.sh
t/t1092-sparse-checkout-compatibility.sh