[JENKINS-35687] Add simple git lfs support#414
[JENKINS-35687] Add simple git lfs support#414matthauck wants to merge 1 commit intojenkinsci:masterfrom
Conversation
|
How does the user tell the plugin to enable LFS support for a specific job? I don't see any user interface change in the plugin and can't understand what calls this new code if there is no user interface enabling it for the job. Ah, I wasn't attentive enough. I assume that because it is a GitSCMExtension, the "Enable Git LFS support" will appear as a drop down choice in the "Additional Behaviours" section. |
|
Yeah, was just about to add that it is an additional behavior. I can add a help.html, however, which would probably make it more useful. |
|
Is this stalled or something that might still make it into the git plugin. Also, the most recent version of jgit has support for lfs but it doesn't look like it is being pulled in. |
|
It is something that might still make it into the git plugin, but not before my hoped September 2016 release of git plugin 3.0.0 and git client plugin 2.0.0. Those releases are planned to be in time for Jenkins World 2016. Git plugin 3.0.0 adds submodule authentication support and drops support for Java 6. It requires at least Jenkins 1.625. It has been in beta test in various incarnations for almost a year. Git client plugin 2.0.0 adds submodule authentication support, drops support for Java 6, and upgrades the JGit implementation from JGit 3 to JGit 4. It requires at least Jenkins 1.625. It has been in beta test in various incarnations for almost a year. The git client plugin release is particularly substantial because the JGit API changes from JGit 3 to JGit 4 will break users of plugins which depend on the JGit implementation provided by the git client plugin. You can read the jenkins-developers mailing list posting for more details. |
|
Glad to hear that lfs support may yet have a future here! 😅 |
|
@MarkEWaite I hope JW went well for you. There was quite a of activity at the booth. Now that 3.0 has been released I thought I might ask about LFS support again. I have had several people ask me about this feature in Jenkins. |
|
I have several other reviews in the queue before this one, so it will likely be a month or more before the reviews are complete. One Jira user has started evaluating this pull request (and the matching pull request for the git client plugin). If others can do the same evaluation of a pre-release build, it makes me more confident in the change, and reduces the amount of verification that I need to do. |
|
I am extremely interested in this pull request. git-lfs support is Jenkins is something that my organization needs like yesterday. I attempted to build both the git plugin with a patched git-client plugin, but got build errors that I could not figure out. I'd be glad to test on my instance if I can get some help building the plugin. |
|
I've built a version of the git client plugin which includes the proposed lfs change and a version of the git plugin which includes the proposed change. Since I'm not a git lfs user, I'll need to rely on others to decide if the functionality is sufficiently rich to justify including it in the plugin |
|
Having been suffering from builds hanging (i assume waiting for auth) in LFS enabled repos - added the "GIT LFS pull after checkout" option and it errored out - it is this actually trying to do a git lfs pull before it does the checkout? ` the log from 'git lfs logs last' shows |
|
Hmm. Interesting, it should be doing the |
|
@matthauck Since the decorator is added on the fetch command I guess it will happen before the checkout. Would it be better to do a two-step process of adding "git lfs fetch" to the Fetch command and "git lfs checkout" to the Checkout command? It seems like it would solve this problem and also looks more symmetrical to me. I made a try at this, working from your existing modifications: However, I did not manage to get a build environment working, so these changes are completely untested. Feel free to use them if you like. |
|
@estyrke - If you can compile the packages into a SNAPSHOT* for me, (sorry, I'm clueless how to do that) I can test it out. |
|
@estyrke, I'm not entirely available at present to test that, we have something working now that I don't really want to / can change rihgt now. But your approach seems like the right way to do it. I'd suggest opening a PR and going with that solution? We can just close this one. |
|
I'm closing this pull request so that I can focus my evaluation efforts on #463 . |
|
👍 |
Note: I had to do some minor changes to pom.xml to make this build with changes for jenkinsci/git-client-plugin#206, so it may well not pass the CI build...