Automatic git cache maintenance on the controller

Project goal: Automate the maintenance of cached git repositories on the Jenkins controller

Skills to study/improve: Java

NOTE: This idea is published as a draft under active discussion, but it is confirmed in principle. It is FINE to apply to it. The scope and the suggested implementation may change significantly before the final version is published. Sections like quickstart guide and newbie-friendly issues may be also missing. As a student, you are welcome to request additional information and to join the discussions using channels linked on this page.

Details

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.

Background

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.

Quick Start

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.

Skills to Study and Improve

  • Java

  • Git

Newbie Friendly Issues

Potential Mentors

Project Links

Organization Links

> Go back to other GSoC 2022 project ideas