I’ve got a cruisecontrol config file set up to poll the SVN server and in theory update if there are recent modifications. However whenever the trigger is hit, it fails with:
ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: Cannot negotiate authentication mechanism
. Process command: C:\Program Files\Subversion\bin\svn.exe update C:\Source\Wholesale\XXXX.SWControl.TestingFramework\ --username mmayo --password ******** --no-auth-cache --non-interactive
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.UpdateSource(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.GetSource(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)
The relevant lines in my config are:
<sourcecontrol type="svn">
<trunkUrl>http://app7002-svn.oy.gb.sportingindex.com/CoreAPI/trunk/Wholesale/XXXX.EventControl.TestingFramework</trunkUrl>
<executable>C:\Program Files\Subversion\bin\svn.exe</executable>
<workingDirectory>C:\Source\Wholesale\SPIN.SWControl.TestingFramework\
</workingDirectory>
<username>mmayo</username>
<password>********</password>
</sourcecontrol>
<triggers>
<intervalTrigger name="Subversion" seconds="60" />
</triggers>
There are various issues on the net talking about how it could be SSH key pair problems, but given the simple setup, the lack of SSH and all that, I’m sure it’s just something simple I’m missing.
Alternatively, if you’ve got a working TortoiseSVN CC.Net script, I’d love to see it 😉
From your build server, have you tried to manually pull down the code using those credentials, or with your own credentials? If neither work, the svn server may be blocking the build server.
Another potential – have you tried setting the trunk url to “svn://…” instead of “http://…”? Depending on how your svn server is set up, that may be an easier way of accessing the projects.