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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: subversion-plugin
    • Labels:
      None
    • Environment:
      Jenkins 1.532.3
      Subversion Plugin 2.4-SNAPSHOT (current master head)
    • Similar Issues:

      Description

      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.

        Attachments

          Issue Links

            Activity

            Show
            danielbeck Daniel Beck added a comment - https://github.com/jenkinsci/subversion-plugin/pull/83
            Hide
            recena Manuel Recena Soto added a comment -

            This bug have been resolved as part of this JENKINS-29340. The solution is based on Daniel Beck's PR#83.

            Show
            recena Manuel Recena Soto added a comment - This bug have been resolved as part of this JENKINS-29340 . The solution is based on Daniel Beck 's PR#83 .

              People

              • Assignee:
                recena Manuel Recena Soto
                Reporter:
                danielbeck Daniel Beck
              • Votes:
                5 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: