I use a Mac Mini (Mavericks) to host svn repositories, which are accessed over a local network using the file:/// protocol. I can commit, update etc fine from a working copy on the same mac, and I can also commit/update etc fine from a working copy on a Windows 7 machine. However, if I do a commit from the Win 7 machine and then try and svn update the working copy on the mac mini, I get an error:

svn: E180001: Unable to connect to a repository at URL 'file:///Volumes/LaCie/svnRepos/sftpbot' svn: E180001: Unable to open an ra_local session to URL svn: E180001: Unable to open repository 'file:///Volumes/LaCie/svnRepos/sftpbot' svn: E000013: Can't open file '/Volumes/LaCie/svnRepos/sftpbot/db/current': Permission denied

The workaround is to use Finder to go to file:///Volumes/LaCie/svnRepos, do a 'Get Info', and 'Apply to enclosed items' Read and Write permissions for 'everyone'. I can then update the working copy on the mac, but I'd really rather not perform this manual step every time I need to update a working copy.

The svn client in use on the max is svnx.

Googling around/manual reading has not availed me. Does anyone know what's going on and how I fix it?

Thanks in advance, Gareth

有帮助吗?

解决方案

This is probably a function of the configuration of your network share. I'm not sure there is a great way to configure this to behave as you want without more details on the permissions. However, using a Subversion repository over a file share is really not recommended. It creates possible issues with locks, mismatches of Subversion versions (if you want to use an older client with a format it doesn't understand) and of course the permissions issues you're having.

I'd suggest rather than using file:// pointed at a network share to host your repository on other machines that you setup a SVN server. Which server is right for you is hard to advise based on the information available, see the Choosing a Server section of the SVN Book.

That said the easiest method for you might be svnserve over ssh. Doing that on the Mac should be as simple as turning on Remote Login under the Sharing pane of System Preferences on the Mac and then using a svn+ssh URL when accessing the repository from other machines. Details on how to construct the URL can be found in the Tunneling over SSH section of the SVN Book. You can just use the username for your account on the Mac for the user and your password for the Mac.

You don't say what client you're using on Windows but TortoiseSVN has directions on setting up to use svnserve over svn.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top