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

Check out of project wth svn:externals to files fails

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • subversion-plugin
    • None
    • Jenkins 1.638
      svn plugin 2.5.4
      svn working copy format 1.7

      Checking out a project with two file externals fails with the following errors:

      [...]
      A         web-app/WEB-INF/instruments/ESPRESSO-1.01/ESPRESSO_multiMR_obs.tsf
      A         web-app/WEB-INF/instruments/ESPRESSO-1.01/test_ESPRESSO_TPL_sci.tsf
      A         web-app/WEB-INF/instruments/ESPRESSO-1.01/ESPRESSERROR: Failed to check out http://<host>/trunk/DFS/p2
      org.tmatesoft.svn.core.SVNCancelException: svn: E200015: authentication cancelled
      	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
      	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
      	at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:215)
      	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:685)
      	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:371)
      	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:359)
      	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:710)
      	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
      	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
      	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1032)
      	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.hasCapability(DAVRepository.java:860)
      	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1278)
      	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:845)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.switchFileExternal(SvnNgAbstractUpdate.java:587)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.handleExternalItemChange(SvnNgAbstractUpdate.java:395)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.handleExternalsChange(SvnNgAbstractUpdate.java:310)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.handleExternals(SvnNgAbstractUpdate.java:246)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.updateInternal(SvnNgAbstractUpdate.java:224)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.update(SvnNgAbstractUpdate.java:72)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:802)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:26)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:11)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
      	at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
      	at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1259)
      	at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
      	at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:121)
      	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
      	at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:992)
      	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:973)
      	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:949)
      	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2691)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:121)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
      	at hudson.remoting.Request$2.run(Request.java:326)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      O_singleUHR_cal_pix.tsf
      A         web-app/WEB-INF/instruments/ESPRESSO-1.01/ESPRESSO_single_acq_obj.tsf
      A         web-app/WEB-INF/instruments/evmAPI.tcl
      [...]
      A         grailsw.bat
      A         application.properties
       U        .
      Fetching 'http://<host>/trunk/DFS/OHS/esoAuthenticator/src/main/java/org/eso/ohs/esoAuthenticator/BCrypt.java' at -1 into '/diska/home/jenkins/workspace/p2web/src/java/org/eso/ohs/esoAuthenticator/BCrypt.java'
      FATAL: null
      java.lang.NullPointerException
      	at java.util.ArrayList.addAll(ArrayList.java:559)
      	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:898)
      	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:834)
      	at hudson.scm.SCM.checkout(SCM.java:485)
      	at hudson.model.AbstractProject.checkout(AbstractProject.java:1284)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
      	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
      	at hudson.model.Run.execute(Run.java:1741)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:381)
      }}
      

      Note that the URL reported for the SVNCancelException is the URL of the project I am checking out. The URL reported with NPE is the URL of one of the file externals.

      Extra credentials for the externals are set up as described in JENKINS-21785 (and they work in other projects that use externals to directories).

      The externals are in the "new" format, that list the URL first, followed by the destination. The svn:externals property is set on the directory into which the files will be checked-out. I tried this with '-rXXX <URL> filename', '<URL>@XXX filename' format, and the same without pinning the version of the external file(s). All result in the same errors.

            recena Manuel Recena Soto
            mpruemm M P
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: