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

Subversion plugin 2.x cannot handle changelog computation with variables in SVN URLs

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • subversion-plugin
    • None
    • Jenkins 1.532.3
      Subversion Plugin 2.4-SNAPSHOT (current master head)

      Another Subversion plugin 2.x auth failure for no good reason.

      Steps to reproduce

      1. In Jenkins, define a variable 'BRANCH' with value 'trunk'. (E.g. in Configure System, or Folders Plus on folder level).
      2. Create a job checking out the URL https://svnserver/svn/repo/$BRANCH/foo (assuming https://svnserver/svn/repo/trunk/foo exists).
      3. Build the job.
      4. Poll for SCM changes (/job/jobname/polling).

      Expected results

      No changes. Or changes. Whatever's correct.

      Actual results

      ERROR: Failed to check repository revision for https://svnserver/svn/repo/trunk/foo
      org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/repo/trunk/foo failed
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)
                      at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)
                      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:1020)
                      at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
                      at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
                      at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
                      at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
                      at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:46)
                      at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:31)
                      at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
                      at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
                      at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
                      at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2461)
                      at hudson.scm.SubversionSCM.parseSvnInfo(SubversionSCM.java:1235)
                      at hudson.scm.CompareAgainstBaselineCallable.call(CompareAgainstBaselineCallable.java:78)
                      at hudson.scm.CompareAgainstBaselineCallable.call(CompareAgainstBaselineCallable.java:26)
                      at hudson.remoting.UserRequest.perform(UserRequest.java:118)
                      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
                      at hudson.remoting.Request$2.run(Request.java:328)
                      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
                      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
                      at java.util.concurrent.FutureTask.run(Unknown Source)
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
                      at hudson.remoting.Engine$1$1.run(Engine.java:63)
                      at java.lang.Thread.run(Unknown Source)
      Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: No credential to try. Authentication failed
                      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.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:694)
                      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382)
                      ... 29 more
      

      Workaround

      Define Additional Credentials matching the repo in question.

            recena Manuel Recena Soto
            danielbeck Daniel Beck
            Votes:
            5 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: