跨平台SVN问题,请解释

时间:2012-09-04 18:48:05

标签: macos svn terminal tortoisesvn

我是一名基于Mac的(10.8)网络开发人员,正在尝试与其他基于Windows的开发人员合作。他们正在使用SVN,尽管他们中的大多数都没有将文件签出到本地存储库。他们主要通过资源管理器在本地服务器上编辑文件,然后使用TortoiseSVN shell增强功能右键单击并“提交”他们刚编辑的内容。

我似乎无法做到这一点,因为我首选的SVN工具版本(以及Dreamweaver CS6)需要使用SVN,HTTP等协议进行访问。尝试使用文件系统时出错。

所以,我正在尝试命令行,导航到我需要编辑的文件,打开它,编辑,保存。我可以在目录上运行svn status,我看到文件状态为“M”。如果我尝试svn commit -m "updated" myflie.css或类似,我会收到错误:

svn: Unable to open an ra_local session to URL
svn: Local URL 'file://webstage-01/svn/repository/fc-dev/assets/css' contains unsupported hostname

我查看了.svn文件夹“entries”文件,看看:

10

dir
20788
file://webstage-01/svn/repository/fc-dev/assets/css
file://webstage-01/svn/repository

2012-06-26T16:08:10.220007Z
20747
JSmith

所以它看起来就是从哪里获取路径,这不是有效的MacOS或Unix路径。

建议?

2 个答案:

答案 0 :(得分:1)

听起来本地服务器已经是一个每个人都在共享的已检出的工作目录。这是做Subversion的完全错误和糟糕的方式。最后,您不知道是谁在进行更改,因为他们都在使用同一个客户端。此外,无法保证工作客户端使用相同格式的工作目录。如果有人在他们的系统上安装了版本1.6 TortoiseSVN,他们可能会损坏该工作副本。

正确的方法是让每个人查看Subversion存储库中的内容到本地计算机(Windows或Mac)的本地副本,然后在那里进行更改并将其检入。您不会遇到某人的问题乱搞那个目录。你知道谁在做出改变。如果两个人试图同时进行相同的更改,您将不会遇到任何问题。这是Subversion假设工作的方式。

Mac有Subversion命令行客户端。 (假设您正在使用Mountain Lion - 最新版本)您需要安装XCode(从Mac App商店免费),然后在XCode中安装command line tools。查看on line Subversion manual并了解如何在Subversion中进行结帐,创建自己的工作目录,然后从中检入。

如果您需要Mac OS X GUI Subversion客户端,有很多选择。我强烈建议你看一下“探路者”(http://cocoatech.com/pathfinder/)。它有一个内置的Subversion GUI客户端,但它也有许多Finder增强功能,使其成为一个出色的Finder替代品 - 特别是对于高级用户。这是40美元,但我认为这对于内置终端客户端来说是值得的。

答案 1 :(得分:0)

我认为你不能那样做。 “本地服务器”上的svn文件夹是由Windows上的TortoiseSVN等特定于平台的工具创建的。显然它将具有特定于Windows的路径等。您需要单独结账并进行提交。

另外,BTW,将EOL属性设置为“native”,这样就不会遇到跨平台的EOL问题。