On Mon, Aug 19, 2024 at 04:49:43AM -0400, Jeff King wrote: > On Mon, Aug 19, 2024 at 09:47:59AM +0200, Patrick Steinhardt wrote: > > > diff --git a/t/t7900-maintenance.sh b/t/t7900-maintenance.sh > > index 06ab43cfb5..074eadcd1c 100755 > > --- a/t/t7900-maintenance.sh > > +++ b/t/t7900-maintenance.sh > > @@ -967,8 +967,13 @@ test_expect_success '--detach causes maintenance to run in background' ' > > git config set maintenance.loose-objects.auto 1 && > > git config set maintenance.incremental-repack.enabled true && > > > > - git maintenance run --detach >out 2>&1 && > > - test_must_be_empty out > > + # The extra file descriptor gets inherited to the child > > + # process, and by reading stdout we thus essentially wait for > > + # that descriptor to get closed, which indicates that the child > > + # is done, too. > > + output=$(git maintenance run --detach 2>&1 9>&1) && > > + printf "%s" "$output" >output && > > + test_must_be_empty output > > ) > > ' > > This looks correct, but should we be doing it for all of the "git > maintenance" runs in that script? They're all going to kick off detached > gc jobs, I think. Only those that use `--detach` run in the background. Patrick