views:

212

answers:

3

I have a Linux server which contains 10 repositories. I have setup a samba share to allow easy access to the repository directory so that I can create repositories via Windows using tortoisesvn's Create repository here command....

The problem is that the repositories were setup using the Windows file:/// paths and not the HTTP ones using tortoisesvn. I'm using the SVN apache HTTP module. So normally I would specify the repository via http://servername/svn/myrepos.

This is all fine in Windows but I need to also use the linux SVN client and am trying to do the following:

/usr/bin/svn update /path/to/working/copy

But im getting the following error:

svn: Unable to open an ra_local session to URL
svn: Unable to open repository 'file:///R:/myrepos/trunk'

It seems that the error relates to it trying to find the matching repository for the working copy but it is using the windows file:/// URL's and should be using the HTTP ones.

How can I amend the repositories so that they default to using the http protocol?

A: 

This is probably a permission problem. I had this on a Linux machine with Linux clients on the same machine. Can't you just delete the local svn sandboxen on the Linux machine and re-checkout them?

Noufal Ibrahim
I think it is more to do with the way I created the repositories via Windows samba shares and not using the HTTP URL's.
Camsoft
+1  A: 

If you checkout via one url you can then update using a different URL. because the "path" notation is different on both systems you can use the same checkout unless you use the svn or http protocols. This however has nothing to do with repo creation beyond the fact that you need to expose the repo over one of the platform agnostic protocols. If you can check out from any client via http or svn then youve set everythign up correctly. You just need to blow your checkout away and check it out again using a platform agnostic protocol.

prodigitalson
+1  A: 

I'm not certain I understand what the problem is, but if you are looking to keep using a local working copy, while changing the URL you use to access the repository, you want to run svn switch:

svn switch --relocate file:///my/old/URL http://server/new/URL
Eric Seppanen
It turns out that was exactly the problem. I had created the working copies pointing to the repositories via the file:/// syntax and not the HTTP version. It was not a problem until I needed to use the Linux svn client commands.I've now switched the working copies over to using http and now everything works.
Camsoft