Status: Open (View Workflow)
See http://pastebin.com/UkFcVesT for "extra" git tasks being ran.
L4 clones the HEAD branch (usually master)
L7 and L8 bring in the HEAD's submodules.
L13 check's out the branchToBuild.
L14-L16 update the submodules to match the branchToBuild. But does not delete any submodules present in HEAD, but not present in branchToBuild.
The current process is:
clone, fetch, submodule init, submodule update, rev-parse, checkout, submodule init, submodule sync, submodule update
The correct proecess should be:
clone, fetch, rev-parse, checkout, submodule init, submodule sync, submodule update
I've forked the plugin on github and will commit a fix once I have the Issue #...
- is related to
JENKINS-14083 Build can't recover from broken submodule path
JENKINS-15399 Changing remote URL doesn't update submodules
JENKINS-22510 Clean After Checkout Results in Failed to Checkout Revision
Bugfix commit: https://github.com/kiall/Hudson-GIT-plugin/commit/8b021ab9e9ccf5bc334aa7d51a9e14b1c1b1f97d
These changes should not introduce any un-wanted behavior. They will not fix this issue in its entirety! From the commit log:
"JENKINS-8503 Removing an extra un-necessary git submodule init/update which causes delete submodules to stay when changing branch.
This will only work reliably when Wipe Out Workspace is enabled. To my knowledge Git does not offer a mechanism for removing submodules without parsing the old/new .gitmodules and rm -rf'ing the deleted submodules."