• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • subversion-plugin
    • None
    • Hudson 1.377, SVN Plugin 1.21, SVN repo v1.6, repo storage v1.4

      I've run into a problem with Hudson where svn:externals appear to be checked out during a build, but when I examine the working directory the externals aren't actually there. The following is output from one of my failed builds:

      Started by user anonymous
      Building remotely on build2
      Cleaning workspace /opt/hudson/workspace/Shell Build
      Checking out http://repo/svn/vwc_repo/ShellScripts/trunk/softsys
      ...(typical svn output)...
      Fetching 'http://repo/svn/vwc_repo/ShellScripts/trunk/lib/bashLibrary.sh' at 13,135 into '/opt/hudson/workspace/Shell Build/softsys/bashLibrary.sh'
      At revision 13143
      no change for http://repo/svn/vwc_repo/ShellScripts/trunk/softsys since the previous build
      no change for http://repo/svn/vwc_repo/ShellScripts/trunk/softsys/bashLibrary.sh since the previous build
      [Shell Build] $ /bin/sh -xe /tmp/hudson1416944625665584251.sh
      ...(execution of script)...
      

      So it appears as though the external is checked out, however upon examining the working directory (directly and via extra lines in the running script) the external is not actually there.

      Here is the definition of the external property on http://repo/svn/vwc_repo/ShellScripts/trunk/softsys:

      http://repo/svn/vwc_repo/ShellScripts/trunk/lib/bashLibrary.sh@13135 bashLibrary.sh

      Using SVN 1.6 I can check out the same directory and the external is properly retrieved.

      I have the Subversion Workspace Version set to "1.6 (svn:externals to file)" and have the workspace cleaned on every build.

          [JENKINS-8312] svn:externals not being checked out

          matt__ created issue -
          matt__ made changes -
          Description Original: I've run into a problem with Hudson where svn:externals appear to be checked out during a build, but when I examine the working directory the externals aren't actually there. The following is output from one of my failed builds:

          {noformat}
          Started by user anonymous
          Building remotely on build2
          Cleaning workspace /opt/hudson/workspace/Shell Build
          Checking out http://repo/svn/vwc_repo/ShellScripts/trunk/softsys
          ...(typical svn output)...
          Fetching 'http://repo/svn/vwc_repo/ShellScripts/trunk/lib/bashLibrary.sh' at 13,135 into '/opt/hudson/workspace/Shell Build/softsys/bashLibrary.sh'
          At revision 13143
          no change for http://repo/svn/vwc_repo/ShellScripts/trunk/softsys since the previous build
          no change for http://repo/svn/vwc_repo/ShellScripts/trunk/softsys/bashLibrary.sh since the previous build
          [Shell Build] $ /bin/sh -xe /tmp/hudson1416944625665584251.sh
          ...(execution of script)...
          {noformat}

          So it appears as though the external is checked out, however upon examining the working directory (directly and via extra lines in the running script) the external is not actually there.

          Here is the definition of the external property on http://repo/svn/vwc_repo/ShellScripts/trunk/softsys:

          {{http://video/svn/vwc_repo/ShellScripts/trunk/lib/bashLibrary.sh@13135 bashLibrary.sh}}

          Using SVN 1.6 I can check out the same directory and the external is properly retrieved.

          I have the Subversion Workspace Version set to "1.6 (svn:externals to file)" and have the workspace cleaned on every build.
          New: I've run into a problem with Hudson where svn:externals appear to be checked out during a build, but when I examine the working directory the externals aren't actually there. The following is output from one of my failed builds:

          {noformat}
          Started by user anonymous
          Building remotely on build2
          Cleaning workspace /opt/hudson/workspace/Shell Build
          Checking out http://repo/svn/vwc_repo/ShellScripts/trunk/softsys
          ...(typical svn output)...
          Fetching 'http://repo/svn/vwc_repo/ShellScripts/trunk/lib/bashLibrary.sh' at 13,135 into '/opt/hudson/workspace/Shell Build/softsys/bashLibrary.sh'
          At revision 13143
          no change for http://repo/svn/vwc_repo/ShellScripts/trunk/softsys since the previous build
          no change for http://repo/svn/vwc_repo/ShellScripts/trunk/softsys/bashLibrary.sh since the previous build
          [Shell Build] $ /bin/sh -xe /tmp/hudson1416944625665584251.sh
          ...(execution of script)...
          {noformat}

          So it appears as though the external is checked out, however upon examining the working directory (directly and via extra lines in the running script) the external is not actually there.

          Here is the definition of the external property on http://repo/svn/vwc_repo/ShellScripts/trunk/softsys:

          {{http://repo/svn/vwc_repo/ShellScripts/trunk/lib/bashLibrary.sh@13135 bashLibrary.sh}}

          Using SVN 1.6 I can check out the same directory and the external is properly retrieved.

          I have the Subversion Workspace Version set to "1.6 (svn:externals to file)" and have the workspace cleaned on every build.

          Andreyev Melo added a comment -

          Same problem here, but with earliest versions. Still occurs with you?

          Andreyev Melo added a comment - Same problem here, but with earliest versions. Still occurs with you?

          Maarten Damen added a comment -

          Same problem here, but with SVN version 1.5 and Jenkins Subversion Plug-in 1.25.

          svnexternals.txt shows: <?xml version='1.0' encoding='UTF-8'?><list/>

          Maarten Damen added a comment - Same problem here, but with SVN version 1.5 and Jenkins Subversion Plug-in 1.25. svnexternals.txt shows: <?xml version='1.0' encoding='UTF-8'?><list/>

          Jack Ace added a comment -

          I was having this problem with Jenkins v1.406 and SVNKit v1.26 and I realized what the problem was.

          This is a bug in Jenkins. When the authentication credentials of the svn:external reference are not established, the svn:checkout process does not return with any kind of failure message. Jenkins thinks the project got checked out successfully.

          You need to make sure that the repositories that you are accessing have saved authentication credentials. I am not sure what the easiest way to do this is, but I was able to add these credentials by doing the following:

          • Click on the "New Job" link (you won't need to complete the new job process)
          • Give the job any name and check "build a free-style software project" and click OK
          • Under "Source Code Management", click "Subversion"
          • In the Repository URL textbox, type in the URL of the repository that you want to externally reference (it is best to use the absolute top of the repository)
          • Click Tab to exit this field
          • Jenkins should come back with the message Unable to access http://myrepo/12345 : svn: OPTIONS /12345 failed (show details) (Maybe you need to enter credential?)
          • Click on the "enter credential" link
          • At the Subversion Authentication page, enter the URL and select the appropriate value(s) for the authentication methods that you use and click OK
          • You should see the message "Authentication was successful. Information is stored in Hudson (sic) now."
          • At this point, you should be able to build your job and the cascaded svn:external repositories should be properly downloaded
          • Build your Jenkins job and verify that the files are properly checked out by looking at the job's workspace folder.

          Jack Ace added a comment - I was having this problem with Jenkins v1.406 and SVNKit v1.26 and I realized what the problem was. This is a bug in Jenkins. When the authentication credentials of the svn:external reference are not established, the svn:checkout process does not return with any kind of failure message. Jenkins thinks the project got checked out successfully. You need to make sure that the repositories that you are accessing have saved authentication credentials. I am not sure what the easiest way to do this is, but I was able to add these credentials by doing the following: Click on the "New Job" link (you won't need to complete the new job process) Give the job any name and check "build a free-style software project" and click OK Under "Source Code Management", click "Subversion" In the Repository URL textbox, type in the URL of the repository that you want to externally reference (it is best to use the absolute top of the repository) Click Tab to exit this field Jenkins should come back with the message Unable to access http://myrepo/12345 : svn: OPTIONS /12345 failed (show details) (Maybe you need to enter credential?) Click on the "enter credential" link At the Subversion Authentication page, enter the URL and select the appropriate value(s) for the authentication methods that you use and click OK You should see the message "Authentication was successful. Information is stored in Hudson (sic) now." At this point, you should be able to build your job and the cascaded svn:external repositories should be properly downloaded Build your Jenkins job and verify that the files are properly checked out by looking at the job's workspace folder.

          Dave Ohlsson added a comment -

          I have the same problem. My environment: svn 1.6.6, Jenkins 1.424, Subversion Plugin 1.28.

          Credential settings are correct IMO, but the directory referred to by property svn:externals is not checked out.

          Dave Ohlsson added a comment - I have the same problem. My environment: svn 1.6.6, Jenkins 1.424, Subversion Plugin 1.28. Credential settings are correct IMO, but the directory referred to by property svn:externals is not checked out.

          Same issue here, one project with one external reference. I added a sponsorship offer to have this fixed.

          Main project checked out fine, sub-project in module didn't.
          Then I created a new freestyle Jenkins project for just the sub-module, entered credentials
          Now the main project also checks out the sub-project.

          Oliver Drobnik added a comment - Same issue here, one project with one external reference. I added a sponsorship offer to have this fixed. Main project checked out fine, sub-project in module didn't. Then I created a new freestyle Jenkins project for just the sub-module, entered credentials Now the main project also checks out the sub-project.

          Nat Stein added a comment -

          Same issue: svn:externals are not checked out. All source is on the same server with the same credentials. Does anyone have a workaround? This is quite an obstacle for us.

          (Jenkins 1.429 / Subversion plugin 1.42)

          Nat Stein added a comment - Same issue: svn:externals are not checked out. All source is on the same server with the same credentials. Does anyone have a workaround? This is quite an obstacle for us. (Jenkins 1.429 / Subversion plugin 1.42)

          We found that if you also create a Job for the external submodule and specify the SVN credentials for that one, then the other job referencing this submodule is staring to be able to check out this repo as well.

          Oliver Drobnik added a comment - We found that if you also create a Job for the external submodule and specify the SVN credentials for that one, then the other job referencing this submodule is staring to be able to check out this repo as well.

          Peter Gruener added a comment -

          Same here. Jenkins 1.466.2, subversion plugin 1.43. Also creating external submodule and specifying credentials there does not work.

          Peter Gruener added a comment - Same here. Jenkins 1.466.2, subversion plugin 1.43. Also creating external submodule and specifying credentials there does not work.

            Unassigned Unassigned
            matt__ matt__
            Votes:
            14 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated: