mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
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>
This commit is contained in:
committed by
Junio C Hamano
parent
5bb4298acf
commit
c367852d9e
@@ -1587,12 +1587,12 @@ static const struct maintenance_task tasks[] = {
|
||||
},
|
||||
[TASK_PACK_REFS] = {
|
||||
.name = "pack-refs",
|
||||
.background = maintenance_task_pack_refs,
|
||||
.foreground = maintenance_task_pack_refs,
|
||||
.auto_condition = pack_refs_condition,
|
||||
},
|
||||
[TASK_REFLOG_EXPIRE] = {
|
||||
.name = "reflog-expire",
|
||||
.background = maintenance_task_reflog_expire,
|
||||
.foreground = maintenance_task_reflog_expire,
|
||||
.auto_condition = reflog_expire_condition,
|
||||
},
|
||||
[TASK_WORKTREE_PRUNE] = {
|
||||
|
||||
Reference in New Issue
Block a user