@@ -7,9 +7,6 @@ test_description='git maintenance builtin'
77GIT_TEST_COMMIT_GRAPH=0
88GIT_TEST_MULTI_PACK_INDEX=0
99
10- # Ensure that auto-maintenance detaches as usual.
11- sane_unset GIT_TEST_MAINT_AUTO_DETACH
12-
1310test_lazy_prereq XMLLINT '
1411 xmllint --version
1512'
@@ -67,41 +64,60 @@ test_expect_success 'run [--auto|--quiet] with gc strategy' '
6764'
6865
6966test_expect_success ' maintenance.auto config option' '
70- GIT_TRACE2_EVENT="$(pwd)/default" git commit --quiet --allow-empty -m 1 &&
71- test_subcommand git maintenance run --auto --quiet --detach <default &&
72- GIT_TRACE2_EVENT="$(pwd)/true" \
73- git -c maintenance.auto=true \
74- commit --quiet --allow-empty -m 2 &&
75- test_subcommand git maintenance run --auto --quiet --detach <true &&
76- GIT_TRACE2_EVENT="$(pwd)/false" \
77- git -c maintenance.auto=false \
78- commit --quiet --allow-empty -m 3 &&
79- test_subcommand ! git maintenance run --auto --quiet --detach <false
67+ test_when_finished "rm -rf repo" &&
68+ git init repo &&
69+ (
70+ cd repo &&
71+ sane_unset GIT_TEST_MAINT_AUTO_DETACH &&
72+
73+ GIT_TRACE2_EVENT="$(pwd)/default" git commit --quiet --allow-empty -m 1 &&
74+ test_subcommand git maintenance run --auto --quiet --detach <default &&
75+ GIT_TRACE2_EVENT="$(pwd)/true" \
76+ git -c maintenance.auto=true \
77+ commit --quiet --allow-empty -m 2 &&
78+ test_subcommand git maintenance run --auto --quiet --detach <true &&
79+ GIT_TRACE2_EVENT="$(pwd)/false" \
80+ git -c maintenance.auto=false \
81+ commit --quiet --allow-empty -m 3 &&
82+ test_subcommand ! git maintenance run --auto --quiet --detach <false
83+ )
8084'
8185
8286test_expect_success ' gc.auto config option' '
83- GIT_TRACE2_EVENT="$(pwd)/default" git commit --quiet --allow-empty -m 1 &&
84- test_subcommand git maintenance run --auto --quiet --detach <default &&
85- GIT_TRACE2_EVENT="$(pwd)/true" \
86- git -c gc.auto=1 commit --quiet --allow-empty -m 2 &&
87- test_subcommand git maintenance run --auto --quiet --detach <true &&
88- GIT_TRACE2_EVENT="$(pwd)/false" \
89- git -c gc.auto=0 commit --quiet --allow-empty -m 3 &&
90- test_subcommand ! git maintenance run --auto --quiet --detach <false
87+ test_when_finished "rm -rf repo" &&
88+ git init repo &&
89+ (
90+ cd repo &&
91+ sane_unset GIT_TEST_MAINT_AUTO_DETACH &&
92+
93+ GIT_TRACE2_EVENT="$(pwd)/default" git commit --quiet --allow-empty -m 1 &&
94+ test_subcommand git maintenance run --auto --quiet --detach <default &&
95+ GIT_TRACE2_EVENT="$(pwd)/true" \
96+ git -c gc.auto=1 commit --quiet --allow-empty -m 2 &&
97+ test_subcommand git maintenance run --auto --quiet --detach <true &&
98+ GIT_TRACE2_EVENT="$(pwd)/false" \
99+ git -c gc.auto=0 commit --quiet --allow-empty -m 3 &&
100+ test_subcommand ! git maintenance run --auto --quiet --detach <false
101+ )
91102'
92103
93104test_expect_success ' maintenance.auto overrides gc.auto' '
94- test_when_finished "rm -f trace" &&
105+ test_when_finished "rm -rf repo" &&
106+ git init repo &&
107+ (
108+ cd repo &&
109+ sane_unset GIT_TEST_MAINT_AUTO_DETACH &&
95110
96- test_config maintenance.auto false &&
97- test_config gc.auto 1 &&
98- GIT_TRACE2_EVENT="$(pwd)/trace" git commit --quiet --allow-empty -m 1 &&
99- test_subcommand ! git maintenance run --auto --quiet --detach <trace &&
111+ git config set maintenance.auto false &&
112+ git config set gc.auto 1 &&
113+ GIT_TRACE2_EVENT="$(pwd)/trace" git commit --quiet --allow-empty -m 1 &&
114+ test_subcommand ! git maintenance run --auto --quiet --detach <trace &&
100115
101- test_config maintenance.auto true &&
102- test_config gc.auto 0 &&
103- GIT_TRACE2_EVENT="$(pwd)/trace" git commit --quiet --allow-empty -m 1 &&
104- test_subcommand git maintenance run --auto --quiet --detach <trace
116+ git config set maintenance.auto true &&
117+ git config set gc.auto 0 &&
118+ GIT_TRACE2_EVENT="$(pwd)/trace" git commit --quiet --allow-empty -m 1 &&
119+ test_subcommand git maintenance run --auto --quiet --detach <trace
120+ )
105121'
106122
107123for cfg in maintenance.autoDetach gc.autoDetach
0 commit comments