aboutsummaryrefslogtreecommitdiffstats
path: root/t/perf/p9210-scalar.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-09-19 14:35:25 -0700
committerJunio C Hamano <gitster@pobox.com>2022-09-19 14:35:25 -0700
commit42bf77c7d013ac595b3463eb064b66d7b969f55c (patch)
tree40780282254f5e857bf42016dec07b11d1ee2078 /t/perf/p9210-scalar.sh
parent9d58241ee4e2c603404e028204221e508bb73644 (diff)
parent9eb7a73158bdc91892a6b9a0b43b8f954b1e39e2 (diff)
downloadgit-42bf77c7d013ac595b3463eb064b66d7b969f55c.tar.gz
Merge branch 'vd/scalar-to-main'
Hoist the remainder of "scalar" out of contrib/ to the main part of the codebase. * vd/scalar-to-main: Documentation/technical: include Scalar technical doc t/perf: add 'GIT_PERF_USE_SCALAR' run option t/perf: add Scalar performance tests scalar-clone: add test coverage scalar: add to 'git help -a' command list scalar: implement the `help` subcommand git help: special-case `scalar` scalar: include in standard Git build & installation scalar: fix command documentation section header
Diffstat (limited to 't/perf/p9210-scalar.sh')
-rwxr-xr-xt/perf/p9210-scalar.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/t/perf/p9210-scalar.sh b/t/perf/p9210-scalar.sh
new file mode 100755
index 0000000000..265f7cd1fe
--- /dev/null
+++ b/t/perf/p9210-scalar.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+test_description='test scalar performance'
+. ./perf-lib.sh
+
+test_perf_large_repo "$TRASH_DIRECTORY/to-clone"
+
+test_expect_success 'enable server-side partial clone' '
+ git -C to-clone config uploadpack.allowFilter true &&
+ git -C to-clone config uploadpack.allowAnySHA1InWant true
+'
+
+test_perf 'scalar clone' '
+ rm -rf scalar-clone &&
+ scalar clone "file://$(pwd)/to-clone" scalar-clone
+'
+
+test_perf 'git clone' '
+ rm -rf git-clone &&
+ git clone "file://$(pwd)/to-clone" git-clone
+'
+
+test_compare_perf () {
+ command=$1
+ shift
+ args=$*
+ test_perf "$command $args (scalar)" "
+ $command -C scalar-clone/src $args
+ "
+
+ test_perf "$command $args (non-scalar)" "
+ $command -C git-clone $args
+ "
+}
+
+test_compare_perf git status
+test_compare_perf test_commit --append --no-tag A
+
+test_done