Error creating local (file://) SVN VCS connection

Hi there!

I have an error when trying to connect to a repository using a file location in the url:
    file:///S:/repos/Projects/HelloWorld/trunk/

When I click 'Test Connection' I receive this:

Connection failed!
svn: Unable to open repository 'file:///S:/repos/Projects/HelloWorld/trunk/'


 


I have tried this with and without credentials, and both are to no effect. Please can you confirm that TeamCity supports file://?

Many thanks,

Dan Atkinson

12 comments
Comment actions Permalink

Hi Dan,

  TeamCity does support file:// protocol for subversion. Please note that to access Subversion 1.6 repository you must use TeamCity 4.5.2 build.

  Please make sure that the URL is accessible via command-line client first.

  Regards,
  KIR

0
Comment actions Permalink

Hi there.

Thanks for your reply. I have TeamCity 4.5.2 (build 9029) installed, but I do not have SVN 1.6 installed. Must it be 1.6 to work?

Thanks,

Dan Atkinson

0
Comment actions Permalink

I've just updated to Subversion 1.6.2, and I'm still getting the same error.

The HelloWorld directory consists of the following subdirectories:
conf
dav
db
hooks
locks

So, technically, the trunk folder is not accessible from the command line. Is this a problem, or can TeamCity recognise this in the same way a repository browser can?

Many thanks.



0
Comment actions Permalink

Hello Dan,

  You should be able to access your repository with a command like
  svn ls file:///S:/repos/Projects/HelloWorld/trunk

  If it works, you should be able to use file:///S:/repos/Projects/HelloWorld/trunk in TeamCity as well.

  If not, this looks like a TeamCity bug.

  Regards,
  KIR

0
Comment actions Permalink

Running it from the command line, I can see all directories inside the source controlled solution.

0
Comment actions Permalink

Could you please take a look at TeamCity/logs/teamcity-vcs.log file - there should be the exception with explanation about the problem.

There may be another issue - if S: drive is a networking share, and TeamCity is running as a Windows service, TeamCity process cannot access network drive (this is limitation of Windows). In this case you may need to run TeamCity server via runAll.bat script. Or change a protocol for accessing the repository.

Regards,
KIR

0
Comment actions Permalink

I will look into this and report back.

Would the windows service not be able to run with a Network Service credential?

Thanks.

0
Comment actions Permalink

The error returned is:


[2009-06-10 13:34:27,556]   WARN [      http-81-3] -      jetbrains.buildServer.VCS - Error occurred in test connection
jetbrains.buildServer.vcs.VcsException: svn: Unable to open repository 'file:///S:/repos/Projects/HelloWorld/Trunk'
at jetbrains.buildServer.buildTriggers.vcs.svn.SvnSupport.testConnection(SvnSupport.java:253)
at jetbrains.buildServer.controllers.admin.projects.EditVcsRootsController.doPost(EditVcsRootsController.java:32)
at jetbrains.buildServer.controllers.BaseFormXmlController$1.handleRequest(BaseFormXmlController.java:37)
at jetbrains.buildServer.controllers.AjaxRequestProcessor.processRequest(AjaxRequestProcessor.java:29)
at jetbrains.buildServer.controllers.BaseFormXmlController.doHandle(BaseFormXmlController.java:35)
at jetbrains.buildServer.controllers.BaseController.handleRequestInternal(BaseController.java:60)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:523)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:463)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at jetbrains.spring.web.TeamCityDispatcherServlet.service(TeamCityDispatcherServlet.java:8)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at jetbrains.buildServer.web.ResponseFragmentFilter.doFilter(ResponseFragmentFilter.java:0)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)



0
Comment actions Permalink

Hi,

   I believe windows service cannot see S: drive at all.
   Please try:
   - check if TeamCity can access a repository on a local drive (C:\repo)
   - shutdown TeamCity windows service and start it with runAll.bat script instead

   Hope this helps,
   KIR

0
Comment actions Permalink

TeamCity can see local repositories. I have created a couple of other projects on the server to ensure that there's not something wrong with TeamCity itself when trying to access SVN repositories.

If I use the runall.bat script, does this mean that I won't be log off the machine, as the TeamCity batch file will need to keep running?

0
Comment actions Permalink

Hello Dan,

   If you use runAll.bat, you'll have to be logged on on this machine to ensure script is running.

   My question is, why do you need to keep SVN repository on a share? You could easily create a svnserve windows service and use svn:// protocol to access it.

   Kind regards,
   KIR

0
Comment actions Permalink

SVNServe has trouble connecting to my repository remotely. I have tried this, and given it the relevant permissions, but I am always get 'connection refused' errors.

If I can't run TeamCity as a service, then I'm in no better a position than I am with CruiseControl, which currently has to run in the command line in an active session on the server because, it too cannot connect the source control environment.

0

Please sign in to leave a comment.