René Scharfe <l.s.r@xxxxxx> writes: > Good point. I have gc.auto=0 in my config, but the tests use their own, > empty config. A trace shows that "git gc --auto --no-quiet" is started. > The following patch turns that off and allows the tests to succeed. > > Not doing maintenance in parallel to a performance test is a good idea > anyway, Sounds like a sensible analysis, and I agree that it is a good idea to by default disable the maintenance tasks in t/perf (possibly at a more centralized place). > but I still don't understand why it would empty the reflog -- > that seems excessive, dangerous even. > > One of the maintenance commands from the trace is "git reflog expire > --all". If I put that in before the "checkout -" test (on top of the > patch below) then the reflog is emptied again and the test fails. > > René > > --- > t/perf/p2000-sparse-operations.sh | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/t/perf/p2000-sparse-operations.sh b/t/perf/p2000-sparse-operations.sh > index 597626276f..9a06904247 100755 > --- a/t/perf/p2000-sparse-operations.sh > +++ b/t/perf/p2000-sparse-operations.sh > @@ -105,6 +105,13 @@ test_perf_on_all () { > done > } > > +test_expect_success 'disable housekeeping' ' > + for repo in full-v3 full-v4 sparse-v3 sparse-v4 > + do > + git -C $repo config gc.auto 0 > + done > +' > + > test_perf_on_all git status > test_perf_on_all git add -A > test_perf_on_all git add . > -- > 2.33.0