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

Subversion plugin fails to check out files specified in svn:externals

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

      Steps to reproduce:
      1. Create svn externals file in the working copy of a check out project using 'svn propedit svn:externals .' command
      2. Enter a line with <local path>/<local file name> http://<svn url>/<svn file name>, where:
      <local path> is the name of the local directory where the file should be check out
      <local file name> is the name of the file
      http://<svn url> is snv location
      <svn file name> is the name of the file in svn
      4. Save and commit the svn externals file.
      5. Create Jenkins project and configure it to check out the svn url where you have commit the svn externals.
      6. Optionally do a fresh check out on the machine using the native svn client version: 1.6.17 (r1128011) to ensure that the check out of the externals is working.

      Result: Jenkins Subversion plugin fails to check out files specified in snv:externals

      Error log:

      ERROR: Failed to parse svn info for external http://<svn url>/<svn file name> at .///<local dir>/<local file name>
      org.tmatesoft.svn.core.SVNException: svn: '<local path>/./<local dir>/<local file name>' is not a working copy
      at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
      at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.probeOpen(SVNWCAccess.java:316)
      at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.probeOpen(SVNWCAccess.java:295)
      at org.tmatesoft.svn.core.wc.SVNWCClient.crawlEntries(SVNWCClient.java:3304)
      at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2506)
      at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2873)
      at hudson.scm.SubversionSCM$BuildRevisionMapTask.invoke(SubversionSCM.java:1038)
      at hudson.scm.SubversionSCM$BuildRevisionMapTask.invoke(SubversionSCM.java:1008)
      at hudson.FilePath.act(FilePath.java:783)
      at hudson.FilePath.act(FilePath.java:765)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:692)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
      at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)
      at hudson.model.Run.run(Run.java:1404)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)
      Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: '<local path>/./<local dir>/<local file name>' is not a working copy
      at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:163)
      at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:118)
      at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.probeOpen(SVNWCAccess.java:315)
      ... 16 more

          [JENKINS-12040] Subversion plugin fails to check out files specified in svn:externals

          Just realize this can not work with svn 1.6 as it pusts .svn folder in every dir. It will work as expected with svn 1.7

          Stanislav Kanev added a comment - Just realize this can not work with svn 1.6 as it pusts .svn folder in every dir. It will work as expected with svn 1.7

          Oliver Keller added a comment -

          I could reproduce the problem with Subversion Plug-in version 2.4 (using SNVKit) running under Jenkins 1.571

          Oliver Keller added a comment - I could reproduce the problem with Subversion Plug-in version 2.4 (using SNVKit) running under Jenkins 1.571

          I discovered that (unlike with my desktop SVN client), the SVN plugin requires the external's destination directory to be a working copy. It won't be automatically created to host the external.

          I think that this behaviour is probably fine but it caught me by surprise as my repository was accidentally not set up this way, and I'd never noticed due to my SVN client working around it automatically.

          So check that the destination path exists. I can't quite tell for sure from your report.

          Tomalak Geret'kal added a comment - I discovered that (unlike with my desktop SVN client), the SVN plugin requires the external's destination directory to be a working copy. It won't be automatically created to host the external. I think that this behaviour is probably fine but it caught me by surprise as my repository was accidentally not set up this way, and I'd never noticed due to my SVN client working around it automatically. So check that the destination path exists. I can't quite tell for sure from your report.

            Unassigned Unassigned
            naninani Stanislav Kanev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: