Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-8503

Git submodules are cloned too early and not removed once the revToBuild has been checked out

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • git-plugin
    • None

      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 #...

          [JENKINS-8503] Git submodules are cloned too early and not removed once the revToBuild has been checked out

          kiall added a comment -

          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."

          kiall added a comment - 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."

          Orgad Shaneh added a comment -

          Any news on this?

          Orgad Shaneh added a comment - Any news on this?

            Unassigned Unassigned
            kiall kiall
            Votes:
            5 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: