Project goal: Automate the maintenance of cached git repositories on the Jenkins controller
Skills to study/improve: Java
Recent versions of command line git (since 2.30.0) have a set of commands for "git maintenance" that can be used to regularly update and maintain the contents of a git repository.
Git caches that exist on the controller can become slower and larger than necessary during use. Command line git focuses on high performance for frequent operations. Command line git relies on end users to perform most repository maintenance. Garbage collection, removal of deleted branches, and other operations are not performed by default on most cached repositories.
Review the features available from "git maintenance" and identify ways that the Jenkins controller could use those features to manage the cached copies of git repositories. Review issues in the Jenkins issue tracker that may indicate other areas where git plugin repository maintenance could help the Jenkins controller.
Git plugin issues friendly to a new contributor
Git client plugin issues friendly to a new contributor