[PATCH 0/7] builtin/maintenance: implement missing tasks compared to git-gc(1)
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Apr 25, 2025, 07:29 UTC
- Message-ID
- <20250425-pks-maintenance-missing-tasks-v1-0-972ed6ab2c0d@pks.im>
Hi,
this small patch series implements the last couple of remaining tasks that are missing compared to the functionality git-gc(1) provides.
Right now, git-maintenance(1) still executes git-gc(1). With these last gaps plugged though we can in theory fully replace git-gc(1) with finer grained tasks without losing any functionality. The benefit is that it becomes possible for users to have finer-grained control over what exactly the maintenance does.
This patch series doesn't do that yet, but only implements whatever is needed to get there.
Thanks!
Patrick
---
Patrick Steinhardt (7):
builtin/gc: fix indentation of `cmd_gc()` parameters
builtin/gc: remove global variables where it trivial to do
builtin/gc: move pruning of worktrees into a separate function
worktree: expose function to retrieve worktree names
builtin/maintenance: introduce "worktree-prune" task
builtin/gc: move rerere garbage collection into separate function
builtin/maintenance: introduce "rerere-gc" taskDocumentation/git-maintenance.adoc | 8 +++ builtin/gc.c | 128 ++++++++++++++++++++++++++++--------- builtin/worktree.c | 25 ++++---- t/t7900-maintenance.sh | 34 ++++++++++ worktree.c | 30 +++++++++ worktree.h | 8 +++ 6 files changed, 189 insertions(+), 44 deletions(-)
--- base-commit: a2955b34f48265d240ab8c7deb0a929ec2d65fd0 change-id: 20250424-pks-maintenance-missing-tasks-8ffcdd596b73