【问题标题】:SVN control of a shared virtual machine folder共享虚拟机文件夹的SVN控制
【发布时间】:2012-06-22 15:19:17
【问题描述】:

我在 Mac 上使用 subclipse 进行 SVN 结帐。我希望能够与 Windows 7 中的 vmware 共享文件夹共享此文件夹,并使用 tortoiseSVN(在 VM 上)和/或 subclipse(在 Mac 上)执行更新/提交。

这可能吗?还是两者会发生冲突?

共享驱动器具有由 subclipse 创建的隐藏“.svn”文件夹。乌龟还需要什么来识别结账?

【问题讨论】:

    标签: svn tortoisesvn vmware subclipse


    【解决方案1】:

    共享工作副本绝不是一个好主意。如果您与之共享的操作系统都相同(例如,所有 Windows 或所有 Mac 工作站),您可以这样做。但是,如果操作系统不同,您不得共享它!

    不在操作系统之间共享工作副本的一个明显原因是:svn:eol-style 属性将native 作为一个可能的值。如果你在操作系统之间共享这样一个 wc,那最终会发生冲突。

    但这只是最明显和最明显的原因。工作副本元数据(存储在隐藏的.svn 文件夹中的数据)也有一些特定于操作系统的东西,这就是你真正会把工作副本搞砸到无法修复的地方。

    【讨论】:

      【解决方案2】:

      不要只共享存储库。一旦在存储库和客户端之间建立网络,源代码控制存储库(包括 SVN 存储库)就很难保证要求。为了防止由于中间网络而导致的故障,SVN(和其他源代码控制系统)在它们之上构建了协议,即使网络发生故障也可以预测地工作。

      通过映射驱动器和使用基于文件的协议,您可以规避为处理网络问题而构建的所有保护措施,而应该考虑在存储库之上使用网络协议。 SVN 默认有四个可供选择 svn:// svn+ssh:// http:// https://.

      然后你会有一个存储库和两个人连接到它,代码将在每个人之间共享和同步。

      有 MAC svn 客户端,所以如果您对 TortiseSVN 非常熟悉,您可能需要学习一个新客户端,但这是最糟糕的情况。使用您当前(不太理想)的方法,可能发生的最坏情况是您损坏了本地存储库,并丢失了 windows 和 mac 机器的工作。

      【讨论】:

        【解决方案3】:

        从其他帖子响应和 cmets 来看,让两个颠覆客户端在同一个文件夹上工作听起来是个坏主意。但是,我认为您仍然可以共享工作文件夹本身,以便您可以切换到其他操作系统并尝试不同操作系统上工作目录的当前状态。只要确保您始终从一个操作系统上的单个 SVN 客户端提交即可。

        这里是关于如何share the work folder的信息。

        【讨论】:

        • 共享工作文件夹不是一个好主意。不能保证两个 SVN 客户端是同一个版本,即使是,.svn 文件夹中的东西也不能移植。
        • 不,您不能在不同操作系统之间共享工作副本文件夹。永远不能!如果操作系统相同,您可以共享它,但即使这样也不是一个好主意。
        • hmmm...经过一些测试,我发现它确实有效。但在 Edwin 和 Stefan 的 cmets 之后,我认为可能不值得冒险看看它会工作多久。
        猜你喜欢
        • 1970-01-01
        • 2011-05-31
        • 2023-04-08
        • 2018-11-29
        • 2014-02-13
        • 2016-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多