我在 Mac 上使用 subclipse 进行了 SVN 结帐。我希望能够与 Windows 7 中的 vmware 共享文件夹共享此文件夹,并使用 tortoiseSVN(在 VM 上)和/或 subclipse(在 Mac 上)执行更新/提交。
这可能吗?还是两者会发生冲突?
共享驱动器具有由 subclipse 创建的隐藏“.svn”文件夹。乌龟还需要什么来识别结账?
我在 Mac 上使用 subclipse 进行了 SVN 结帐。我希望能够与 Windows 7 中的 vmware 共享文件夹共享此文件夹,并使用 tortoiseSVN(在 VM 上)和/或 subclipse(在 Mac 上)执行更新/提交。
这可能吗?还是两者会发生冲突?
共享驱动器具有由 subclipse 创建的隐藏“.svn”文件夹。乌龟还需要什么来识别结账?
共享工作副本绝不是一个好主意。如果您与之共享的操作系统都相同(例如,所有 Windows 或所有 Mac 工作站),您可以这样做。但是,如果操作系统不同,则永远不要共享它!
不在操作系统之间共享工作副本的一个明显原因是:svn:eol-style
属性具有native
作为一种可能的值。如果您在操作系统之间共享这样的 wc,那最终会发生冲突。
但这只是最明显和最明显的原因。工作副本元数据(存储在隐藏.svn
文件夹中的数据)也有一些特定于操作系统的东西,这就是你真正会把工作副本弄乱到无法修复的地方。
不要只共享一个存储库。一旦在存储库和客户端之间建立网络,源代码控制存储库(包括 SVN 存储库)就很难保证要求。为了防止由于中间网络而导致的故障,SVN(和其他源代码控制系统)在它们之上构建了协议,即使网络发生故障也可以预测地工作。
通过映射驱动器和使用基于文件的协议,您可以规避为处理网络问题而构建的所有保护措施,相反,您应该考虑在存储库之上使用网络协议。SVN 默认自带四个 svn:// svn+ssh:// http:// https:// 。
然后你会有一个存储库和两个人连接到它,代码将在每个人之间共享和同步。
有 MAC svn 客户端,所以如果您对 TortiseSVN 非常熟悉,您可能需要学习一个新客户端,但这是最糟糕的情况。使用您当前(不太理想)的方法,可能发生的最坏情况是您破坏了本地存储库,并丢失了 windows 和 mac 机器的工作。
从其他帖子的回复和评论来看,让两个颠覆客户端在同一个文件夹上工作听起来是个坏主意。但是,我认为您仍然可以共享工作文件夹本身,以便您可以切换到其他操作系统并尝试不同操作系统上工作目录的当前状态。只要确保您始终从一个操作系统上的单个 SVN 客户端提交即可。
以下是有关如何共享工作文件夹的信息。