SVN从Windows提交到Mac会覆盖文件权限



我使用Mac Mini(Mavericks)来托管svn存储库,这些存储库通过本地网络使用文件///协议进行访问。我可以在同一台mac上从工作副本中提交、更新etc fine,也可以在Windows7机器上从工作拷贝中提交/更新etc fine。然而,如果我从Win 7机器上进行提交,然后尝试在mac mini上更新工作副本,我会得到一个错误:

svn:E180001:无法连接到URL为"的存储库file:///Volumes/LaCie/svnRepos/sftpbot'svn:E180001:无法打开到URL的ra_local会话svn:E180001:无法打开存储库'file:///Volumes/LaCie/svnRepos/sftpbot'svn:E000013:无法打开文件'/Volumes/LaCie/svnPos/sftpbot/db/current':权限被拒绝

解决方法是使用Finder转到file:///Volumes/LaCie/svnRepos,为"每个人"执行"获取信息"one_answers"应用于所附项目"读取和写入权限。然后我可以在mac上更新工作副本,但我真的不想每次需要更新工作副本时都执行这个手动步骤。

在max上使用的svn客户端是svnx。

谷歌搜索/手动阅读对我没有帮助。有人知道发生了什么以及我是如何解决的吗?

提前感谢,Gareth

这可能是网络共享配置的一个函数。我不确定是否有一种很好的方法可以在没有更多权限细节的情况下将其配置为您想要的行为。但是,不建议在文件共享上使用Subversion存储库。它可能会导致锁定、Subversion版本不匹配(如果你想使用格式不懂的旧客户端),当然还有权限问题。

我建议您设置SVN服务器,而不是使用指向网络共享的file://来在其他机器上托管存储库。根据现有信息,很难建议哪台服务器适合您,请参阅SVN手册的"选择服务器"部分。

也就是说,对您来说最简单的方法可能是通过ssh进行svnserve。在Mac上这样做应该很简单,只需在Mac上的"系统首选项"的"共享"窗格下打开"远程登录",然后在从其他机器访问存储库时使用svn+ssh URL。有关如何构造URL的详细信息,请参阅SVN手册的"通过SSH进行隧道传输"部分。您只需在Mac上为用户使用帐户的用户名,在Mac上使用密码即可。

你没有说明你在Windows上使用的是什么客户端,但TortoiseSVN有关于设置使用svnserve而不是svn的说明。

最新更新