]> git.ipfire.org Git - thirdparty/git.git/commit
builtin/maintenance: fix locking race with refs and reflogs tasks
authorPatrick Steinhardt <ps@pks.im>
Tue, 3 Jun 2025 14:01:17 +0000 (16:01 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 3 Jun 2025 15:30:51 +0000 (08:30 -0700)
commitc367852d9e3c114fe02e16f4d56f259f12188e2a
treeaa19155bfd59a9ebe59415d6adb888681da398a2
parent5bb4298acfb57550934cefca85101825eff177e9
builtin/maintenance: fix locking race with refs and reflogs tasks

As explained in the preceding commit, git-gc(1) knows to detach only
after it has already packed references and expired reflogs. This is done
to avoid racing around their respective lockfiles.

Adapt git-maintenance(1) accordingly and run the "pack-refs" and
"reflog-expire" tasks in the foreground. Note that the "gc" task has the
same issue, but the fix is a bit more involved there and will thus be
done in a subsequent commit.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/gc.c