git maintenance
from https://git-scm.com/docs/git-maintenance for ideas of the types of problems that can exist for git repositories and that benefit from maintenance tasks. Consider alternatives available to perform similar maintenance tasks on a Jenkins controller or on Jenkins agents. Explore the scheduling alternatives available with Jenkins. Install a Jenkins controller, create a multibranch Pipeline with a GitHub branch source provider and look at the caches created on the Jenkins controller. Consider how the Jenkins controller created those caches and how a maintenance job would find those caches and schedule the maintenance work on those caches. Compare the maintenance task results with command line git and JGit. Are all the maintenance operations feasible in JGit.
@DevUt: in an async environment, its usually good practice to not ask yes/no questions, but instead ask questions with details/context.
"Do we have a mentor for the plugin health project yet?"
12 hours later
"no"
12 hours later
"okay i'm interested"
vs
"I'm interested in helping out as a mentor for the plugin health project, is there a mentor yet?"
you saved a bunch of back and forth (just an example, i have no idea why your asking)
Read the documentation for
git maintenance
from https://git-scm.com/docs/git-maintenance for ideas of the types of problems that can exist for git repositories and that benefit from maintenance tasks. Consider alternatives available to perform similar maintenance tasks on a Jenkins controller or on Jenkins agents. Explore the scheduling alternatives available with Jenkins. Install a Jenkins controller, create a multibranch Pipeline with a GitHub branch source provider and look at the caches created on the Jenkins controller. Consider how the Jenkins controller created those caches and how a maintenance job would find those caches and schedule the maintenance work on those caches. Compare the maintenance task results with command line git and JGit. Are all the maintenance operations feasible in JGit.
@aaryan-gautam:matrix.org Not sure if you've read this quoted message before or not but it might help you by answering some of your questions.
Hi Aaryan Gautam Welcome to the community! Regarding the "Automatic git cache maintenance on the controller" project, there are new newbie issues with links at here. While the standard duration of GSoC is 175 hours, it can be hard to gauge whether more time will be needed as every project will be mentored on a case-by-case basis, as the duration has much to do with the GSoC contributor per se. The project length also depends on the scope and number of features you intend to add to the Jenkins controller. The most important thing to note at the beginning is what "git maintenance" is capable of, so that we could also implement this to Jenkins.
On the official git
site it says:
The git maintenance command is designed to simplify the repository maintenance patterns while minimizing user wait time during Git commands. A variety of configuration options are available to allow customizing this process. The default maintenance options focus on operations that complete quickly, even on large repositories.
So this could be a point to keep in mind while developing your own proposal for the project idea.
I am getting the following warning when I try to run mvn clean verify. However, when I try to redirect the -Dfile to Program Files\Java\jdk1.8.0_311\lib\tools.jar, it tells me that the specified file does not exist at the [relative path to]/git/plugin/C:Program. What should I put for -Dfile?
[WARNING] System artifact: com.sun:tools:jar:1.8.0:system has no file attached
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.8.0 -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.8.0 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) com.sun:tools:jar:1.8.0
com.sun:tools:jar:1.8.0