Improvement: `git-maintenance` to allow configuring of remotes to fetch
- From
Shubham Kanodia <shubhamsizzles@gmail.com>
- Date
- Aug 26, 2024, 11:50 UTC
- Message-ID
- <CAG=Um+1wTbXn_RN+LOCrpZpSNR_QF582PszxNyhz5anVHtBp+w@mail.gmail.com>
`git-maintenance` aims to improve the health & performance of especially large git repositories. A part of git maintenance tasks is `prefetch`.
However, at the moment, it prefetches all objects from all branches —
> The prefetch task updates the object directory with the latest objects from all registered remotes.
This seems non-optimal for repositories where users use the main repository to fork branches (instead of personal forks) as the remote could have thousands of refs and objects from branches that a user may not care about, leading to a very large prefetch dir.
For large repositories, it might instead be helpful to only fetch objects on `main` or `master` because those are the ones most likely to be used by users.
To this effect, git maintenance should perhaps expose a maintenance.prefetch.refs setting that subsets prefetching only to certain references.
Is this something that has been raised before / is in works by any chance or something that would be an acceptable contribution?
-- Regards, Shubham Kanodia