[go: up one dir, main page]

maintenance: add an 'is-needed' subcommand

I recently raised a patch series 1 to add 'git refs optimize --required' which checks if the reference backend can be optimized, without actually performing the optimization.

Back then, we had decided 2 that it would be a better to broaden the approach and add a 'is-needed' subcommand to 'git-maintenance(1)'. This would allow users to check if maintenance was required for the repository and users could also provide a task via the '--task' to check if maintenance was needed for a particular task.

Ideally the subcommand will be used with the '--auto' flag which can check the same heuristics as that used with 'git maintenance run --auto'. Future patches can also add support for the '--schedule' flag which can be used to check required schedule it met. However that flag isn't added as part of this series.

This series implements that.

Commits 1-3 add the required functionality in the refs subsystem to expose an 'optimize_required' field which can be used to check if backends need to be optimized. Commit 4 utilizes this within the 'git-maintenance(1)' code. Commit 5 adds the 'is-needed' subcommand to 'git-maintenance(1)'.

This is based on top of master a99f379a (The 27th batch, 2025-10-30) and is dependent on the following series:

- kn/refs-optim-cleanup
- ps/ref-peeled-tags

Merges cleanly with next. I think those two topics are close to being merged to next so hopefully this dependency tree doesn't get too complicated. I'll rebase as needed to resolve conflicts.

Closes: #562

Edited by Karthik Nayak

Merge request reports

Loading