[JIRA] [subversion-plugin] (JENKINS-31662) Check out of project wth svn:externals to files fails

9 views
Skip to first unread message

mpruemm@gmail.com (JIRA)

unread,
Nov 19, 2015, 1:58:01 PM11/19/15
to jenkinsc...@googlegroups.com
M P created an issue
 
Jenkins / Bug JENKINS-31662
Check out of project wth svn:externals to files fails
Issue Type: Bug Bug
Assignee: Unassigned
Components: subversion-plugin
Created: 19/Nov/15 6:57 PM
Environment: Jenkins 1.638
svn plugin 2.5.4
svn working copy format 1.7
Priority: Major Major
Reporter: M P

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.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.2#64017-sha1:e244265)
Atlassian logo

recena@gmail.com (JIRA)

unread,
Nov 23, 2015, 3:49:01 AM11/23/15
to jenkinsc...@googlegroups.com

recena@gmail.com (JIRA)

unread,
Nov 23, 2015, 3:50:01 AM11/23/15
to jenkinsc...@googlegroups.com

mpruemm@gmail.com (JIRA)

unread,
Nov 23, 2015, 10:19:03 AM11/23/15
to jenkinsc...@googlegroups.com
M P commented on Bug JENKINS-31662

Sure. Note that this one has a workaround configured: the svn plugin does not check out the externals, but an extra build step (shell script) pulls them in with the regular svn command.

When I comment that line and uncheck "ignore externals" in the svn plugin, the problem reappears.

Here is the config.xml; see below for the svn:externals in question.

{{<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>P2 Web Development</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>10</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties>
<org.jenkins.plugins.lockableresources.RequiredResourcesProperty plugin="lockable-resources@1.7">
<resourceNames>P2WEB-tomcat</resourceNames>
</org.jenkins.plugins.lockableresources.RequiredResourcesProperty>
</properties>
<scm class="hudson.scm.SubversionSCM" plugin="subve...@2.5.4">
<locations>
<hudson.scm.SubversionSCM_-ModuleLocation>
<remote>http://svnhost.example.com/p2/trunk/DFS/p2</remote>
<credentialsId>2d3117d2-89e6-428d-adc8-cbd4a04613e5</credentialsId>
<local>.</local>
<depthOption>infinity</depthOption>
<ignoreExternalsOption>true</ignoreExternalsOption>
</hudson.scm.SubversionSCM_-ModuleLocation>
</locations>
<additionalCredentials>
<hudson.scm.SubversionSCM_-AdditionalCredentials>
<realm><http://ssvnhost.example.com:80&gt; p2 SVN Repository</realm>
<credentialsId>2d3117d2-89e6-428d-adc8-cbd4a04613e5</credentialsId>
</hudson.scm.SubversionSCM_-AdditionalCredentials>
</additionalCredentials>
<browser class="hudson.scm.browsers.ViewSVN">
<url>http://svnhost.example.com/viewvc/p2/</url>
</browser>
<excludedRegions>/trunk/DFS/p2/web-app/apidoc.*
/trunk/DFS/p2/web-app/WEB-INF/.*\.yaml
</excludedRegions>
<includedRegions></includedRegions>
<excludedUsers></excludedUsers>
<excludedRevprop></excludedRevprop>
<excludedCommitMessages></excludedCommitMessages>
<workspaceUpdater class="hudson.scm.subversion.CheckoutUpdater"/>
<ignoreDirPropChanges>false</ignoreDirPropChanges>
<filterChangelog>false</filterChangelog>
</scm>
<assignedNode>seq</assignedNode>
<canRoam>false</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<jdk>Java7 32</jdk>
<triggers>
<hudson.triggers.SCMTrigger>
<spec>H/2 * * * *</spec>
<ignorePostCommitHooks>false</ignorePostCommitHooks>
</hudson.triggers.SCMTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command># pull in externals – apparently Jenkins is unable to do that
svn update --non-interactive</command>
</hudson.tasks.Shell>
<com.g2one.hudson.grails.GrailsBuilder plugin="grails@1.7">
<targets>"test-app functional:" "test test-more integration: -coverage" "codenarc"</targets>
<name>2.5.0</name>
<grailsWorkDir></grailsWorkDir>
<projectWorkDir></projectWorkDir>
<projectBaseDir></projectBaseDir>
<serverPort>28722</serverPort>
<properties></properties>
<forceUpgrade>false</forceUpgrade>
<nonInteractive>true</nonInteractive>
<useWrapper>false</useWrapper>
<plainOutput>true</plainOutput>
<stackTrace>false</stackTrace>
<verbose>false</verbose>
<refreshDependencies>false</refreshDependencies>
</com.g2one.hudson.grails.GrailsBuilder>
<com.g2one.hudson.grails.GrailsBuilder plugin="grails@1.7">
<targets>"war target/p2-latest.war" </targets>
<name>2.5.0</name>
<grailsWorkDir></grailsWorkDir>
<projectWorkDir></projectWorkDir>
<projectBaseDir></projectBaseDir>
<serverPort></serverPort>
<properties>grails.env=demo</properties>
<forceUpgrade>false</forceUpgrade>
<nonInteractive>true</nonInteractive>
<useWrapper>false</useWrapper>
<plainOutput>true</plainOutput>
<stackTrace>false</stackTrace>
<verbose>false</verbose>
<refreshDependencies>false</refreshDependencies>
</com.g2one.hudson.grails.GrailsBuilder>
</builders>
<publishers>
<htmlpublisher.HtmlPublisher plugin="htmlpublisher@1.9">
<reportTargets>
<htmlpublisher.HtmlPublisherTarget>
<reportName>Coverage Report</reportName>
<reportDir>target/test-reports/cobertura</reportDir>
<reportFiles>index.html</reportFiles>
<alwaysLinkToLastBuild>false</alwaysLinkToLastBuild>
<keepAll>true</keepAll>
<allowMissing>true</allowMissing>
</htmlpublisher.HtmlPublisherTarget>
<htmlpublisher.HtmlPublisherTarget>
<reportName>Coding Style Report</reportName>
<reportDir>target/codenarc</reportDir>
<reportFiles>index.html</reportFiles>
<alwaysLinkToLastBuild>true</alwaysLinkToLastBuild>
<keepAll>true</keepAll>
<allowMissing>false</allowMissing>
</htmlpublisher.HtmlPublisherTarget>
</reportTargets>
</htmlpublisher.HtmlPublisher>
<hudson.tasks.junit.JUnitResultArchiver plugin="junit@1.9">
<testResults>target/test-reports/TEST-*.xml</testResults>
<keepLongStdio>false</keepLongStdio>
<healthScaleFactor>1.0</healthScaleFactor>
</hudson.tasks.junit.JUnitResultArchiver>
<hudson.plugins.violations.ViolationsPublisher plugin="viola...@0.7.11">
<config>
<suppressions class="sorted-set"/>
<typeConfigs>
<entry>
<string>checkstyle</string>
<hudson.plugins.violations.TypeConfig>
<type>checkstyle</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>codenarc</string>
<hudson.plugins.violations.TypeConfig>
<type>codenarc</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern>target/**/codenarc.xml</pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpd</string>
<hudson.plugins.violations.TypeConfig>
<type>cpd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpplint</string>
<hudson.plugins.violations.TypeConfig>
<type>cpplint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>csslint</string>
<hudson.plugins.violations.TypeConfig>
<type>csslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>findbugs</string>
<hudson.plugins.violations.TypeConfig>
<type>findbugs</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>fxcop</string>
<hudson.plugins.violations.TypeConfig>
<type>fxcop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>gendarme</string>
<hudson.plugins.violations.TypeConfig>
<type>gendarme</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jcreport</string>
<hudson.plugins.violations.TypeConfig>
<type>jcreport</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jslint</string>
<hudson.plugins.violations.TypeConfig>
<type>jslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pep8</string>
<hudson.plugins.violations.TypeConfig>
<type>pep8</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>perlcritic</string>
<hudson.plugins.violations.TypeConfig>
<type>perlcritic</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pmd</string>
<hudson.plugins.violations.TypeConfig>
<type>pmd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pylint</string>
<hudson.plugins.violations.TypeConfig>
<type>pylint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>simian</string>
<hudson.plugins.violations.TypeConfig>
<type>simian</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>stylecop</string>
<hudson.plugins.violations.TypeConfig>
<type>stylecop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
</typeConfigs>
<limit>100</limit>
<sourcePathPattern></sourcePathPattern>
<fauxProjectPath></fauxProjectPath>
<encoding>default</encoding>
</config>
</hudson.plugins.violations.ViolationsPublisher>
<hudson.plugins.deploy.DeployPublisher plugin="dep...@1.10">
<adapters>
<hudson.plugins.deploy.tomcat.Tomcat7xAdapter>
<userName>jenkins</userName>
<passwordScrambled>XXXXXXXXXX</passwordScrambled>
<url>http://tomcat.example.com</url>
</hudson.plugins.deploy.tomcat.Tomcat7xAdapter>
</adapters>
<contextPath>/p2ci</contextPath>
<war>target/p2-latest.war</war>
<onFailure>true</onFailure>
</hudson.plugins.deploy.DeployPublisher>
<hudson.tasks.Mailer plugin="mai...@1.15">
<recipients>x...@example.com</recipients>
<dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
<sendToIndividuals>false</sendToIndividuals>
</hudson.tasks.Mailer>
</publishers>
<buildWrappers/>
</project>}}

svn:externals:
{{$ svn proplist -v .
Properties on '.':
svn:externals
^/trunk/DFS/OHS/esoAuthenticator/src/main/java/org/eso/ohs/esoAuthenticator/BCrypt.java BCrypt.java
^/trunk/DFS/OHS/esoAuthenticator/src/main/java/org/eso/ohs/esoAuthenticator/EncryptionAlgorithm.java EncryptionAlgorithm.java
}}

recena@gmail.com (JIRA)

unread,
Nov 23, 2015, 10:22:03 AM11/23/15
to jenkinsc...@googlegroups.com
Manuel Jesús Recena Soto updated an issue
 
Checking out a project with two file externals fails with the following errors:


{ { noformat}
{noformat}

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@gmail.com (JIRA)

unread,
Nov 23, 2015, 10:27:01 AM11/23/15
to jenkinsc...@googlegroups.com

recena@gmail.com (JIRA)

unread,
Nov 23, 2015, 10:27:01 AM11/23/15
to jenkinsc...@googlegroups.com
Manuel Jesús Recena Soto commented on Bug JENKINS-31662
 
Re: Check out of project wth svn:externals to files fails

M P, Please, apply format to your comment.

You don't need a workaround to use svn:externals. I recommend you do not use SVN Client in CLI when your working copy was checked out with Subversion Plugin.

mpruemm@gmail.com (JIRA)

unread,
Nov 23, 2015, 11:03:03 AM11/23/15
to jenkinsc...@googlegroups.com
M P edited a comment on Bug JENKINS-31662
Sure. Note that this one has a workaround configured: the svn plugin does not check out the externals, but an extra build step (shell script) pulls them in with the regular svn command.

When I comment that line and uncheck "ignore externals" in the svn plugin, the problem reappears.

Here is the config.xml; see below for the svn:externals in question.

{ { noformat}
        <realm>&lt;http://ssvnhost.example.com:80&gt; p2 SVN Repository</realm>
      <command># pull in externals -- apparently Jenkins is unable to do that :-(

svn update --non-interactive</command>
    </hudson.tasks.Shell>
    <com.g2one.hudson.grails.GrailsBuilder plugin="grails@1.7">
      <targets>&quot;test-app functional:&quot; &quot;test test-more integration: -coverage&quot; &quot;codenarc&quot;</targets>

      <name>2.5.0</name>
      <grailsWorkDir></grailsWorkDir>
      <projectWorkDir></projectWorkDir>
      <projectBaseDir></projectBaseDir>
      <serverPort>28722</serverPort>
      <properties></properties>
      <forceUpgrade>false</forceUpgrade>
      <nonInteractive>true</nonInteractive>
      <useWrapper>false</useWrapper>
      <plainOutput>true</plainOutput>
      <stackTrace>false</stackTrace>
      <verbose>false</verbose>
      <refreshDependencies>false</refreshDependencies>
    </com.g2one.hudson.grails.GrailsBuilder>
    <com.g2one.hudson.grails.GrailsBuilder plugin="grails@1.7">
      <targets>&quot;war target/p2-latest.war&quot; </targets>

{noformat
} }

svn:externals:
{
{ noformat}
$ svn proplist -v .
Properties on '.':
  svn:externals
    ^/trunk/DFS/OHS/esoAuthenticator/src/main/java/org/eso/ohs/esoAuthenticator/BCrypt.java BCrypt.java
    ^/trunk/DFS/OHS/esoAuthenticator/src/main/java/org/eso/ohs/esoAuthenticator/EncryptionAlgorithm.java EncryptionAlgorithm.java
{noformat } }

mpruemm@gmail.com (JIRA)

unread,
Nov 23, 2015, 11:05:02 AM11/23/15
to jenkinsc...@googlegroups.com
M P commented on Bug JENKINS-31662

Re formatting: I was using the wrong "code", sorry for that. I fixed it.

If I let the svn plugin check out the code, the job always fails because of the externals. So, what do you suggest?

recena@gmail.com (JIRA)

unread,
Nov 23, 2015, 11:17:03 AM11/23/15
to jenkinsc...@googlegroups.com

M P If you configure the svn:externals in a right way, will work.

mpruemm@gmail.com (JIRA)

unread,
Nov 23, 2015, 11:29:02 AM11/23/15
to jenkinsc...@googlegroups.com
M P commented on Bug JENKINS-31662

What do you consider to be the "right" way?

The format we use is the modern, svn 1.5 and later, format. Ideally, I want to specify the revision as well, but due to the problems with svn plugin for Jenkins I removed the revision, hoping that would fix it. But it didn't make any difference.

To recap, I tried these:

-rXXX ^/url/to/file localfile
^/url/to/file@XXX localfile
^/url/to/file localfile

recena@gmail.com (JIRA)

unread,
Nov 23, 2015, 12:20:01 PM11/23/15
to jenkinsc...@googlegroups.com

M P Could you provide a step by step process so that reproduce the bug?

mpruemm@gmail.com (JIRA)

unread,
Nov 23, 2015, 12:55:02 PM11/23/15
to jenkinsc...@googlegroups.com
M P commented on Bug JENKINS-31662

OK.

Set up in subversion: using some working copy, create a file, a new directory, and setup externals, then check in. Note that in the steps below, you must use the actual path to file foo in your repository. Here are the steps:

echo "foo" >foo
svn add foo
svn mkdir bar
echo "^/path/to/foo foo" > externals
svn propset -F externals svn:externals bar
svn ci -m "Setting up file externals for Jenkins"

As a check, run

svn update bar

It should pull in file foo into directory bar.

When you have that, do the following in Jenkins:

1. create a new freestyle job.
2. set version control to check out directory "bar"
3. configure your svn credentials
4. Uncheck "ignore externals"
5. setup additional credentials (as mentioned in

JENKINS-21785 ) for the same repository, using the same credentials.
6. save this configuration

Then "Build Now". This produces the error.

I tried this just now in a different repository, but on the same physical server. The Jenkins credentials (username, password) are the same in both repository, and were stored with Jenkins.

mpruemm@gmail.com (JIRA)

unread,
Nov 24, 2015, 4:56:01 AM11/24/15
to jenkinsc...@googlegroups.com
M P commented on Bug JENKINS-31662

One more thing: my project is set to "always check out a fresh copy". This reliably reproduces the problem every time. (I haven't tried any other settings, because we always want a fresh checkout for this project.)

mpruemm@gmail.com (JIRA)

unread,
Feb 17, 2016, 1:07:02 PM2/17/16
to jenkinsc...@googlegroups.com
M P commented on Bug JENKINS-31662

Any news or progress on this?

I just ran my little test "project" with the svn plugin 2.5.7. Still the same behavior as reported above.

Reply all
Reply to author
Forward
0 new messages