From: Patrick Steinhardt Date: Fri, 25 Apr 2025 07:29:16 GMT Subject: [PATCH 0/7] builtin/maintenance: implement missing tasks compared to git-gc(1) 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" task Documentation/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