【问题标题】:svn - Remote, Disconnected Workingsvn - 远程,断开连接的工作
【发布时间】:2009-05-15 07:29:07
【问题描述】:

我们使用 svn,我将开始在家工作。我的想法是带上我的笔记本电脑,检查项目并将其带回家,然后在星期一返回并反转该过程。

但它是一台笨重的笔记本电脑,我不喜欢骑着它背着它工作。

是否可以改为:

  1. 创建第二个 Windows/SVN 用户“MeRemote”
  2. 将项目签出到“MeRemote”下的另一个位置
  3. 将这些文件复制到 U 盘
  4. 将磁盘带回家,“本地”处理文件
  5. 周一返回,复制“MeRemote”签出的项目
  6. “MeRemote”提交对 repo 的更改
  7. “RealMe”更新更改。

这样,当我在办公室/家中工作时,所有内容都会被记录和标记,我不必拖着沉重的笔记本电脑四处走动,并且源代码控制保持一致。

这是正确的方法吗?在我进入另一个 SVN 痛苦的世界之前检查一下。

我们正在使用 SVN、VisualSVN 服务器、Visual SVN 客户端和 TortoiseSVN。

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    简单的方法

    这是使用 SVN 的正常流程:

    1. 您可以直接在拇指驱动器上下载项目,方法是在拇指驱动器上执行checkout
    2. 随身携带 U 盘,随时随地使用它(例如在家中的笔记本电脑)。
    3. 当您使用拇指驱动器返回工作时,您可以更新代码,然后将其提交全部到存储库中。

    当您使用工作登录更新更改时,它将显示谁更改并签入了文件。唯一麻烦的是修复可能出现的合并冲突。

    需要本地提交吗?

    如果您需要仅在拇指驱动器上进行本地提交,您可以通过在拇指驱动器上创建一个新的 svn 存储库来实现此目的。但是,您需要在拇指驱动器上的存储库和工作存储库之间复制文件。

    您还可以使用Alex Martelli 指出的分布式版本控制进行本地提交,这是通过将存储库克隆到您的拇指驱动器然后将其同步回 svn 来完成的。

    【讨论】:

    • 我想我可能会试试这个。如果可行,我会在星期一将其标记为答案。
    【解决方案2】:

    Subversion 假设文件戳有至少 1 秒的精度来检查文件是否已更改,但大多数 USB 驱动器上的 FAT 文件系统仅支持 2 秒的精度。从理论上讲,它可能会在更新、提交等之后的第一秒内错过文件中的更改。

    我建议将您的 USB 驱动器格式化为 NTFS 以解决此问题。

    【讨论】:

    • 哇。著名的。那我得再给我买一个 USB 驱动器。
    【解决方案3】:

    我想你可能对SVK很感兴趣

    svk is a decentralized version control system built with the robust Subversion filesystem. It supports repository mirroring, disconnected operation, history-sensitive merging, and integrates with other version control systems, as well as popular visual merge tools. 
    

    您可以找到描述使用和工作流程的博文here

    【讨论】:

      【解决方案4】:

      在你的情况下,我会使用 DVCS(例如 Mercurial)和它附带的工具来与 svn 顺利互操作,参见例如https://www.mercurial-scm.org/wiki/WorkingWithSubversion

      【讨论】:

      • 我支持这个。优点是,即使没有与服务器的连接,您也具有版本控制功能。这称为分布式版本控制。然后像'push'或类似的简单命令将你的更改扔到svn中。这真的很棒!
      【解决方案5】:

      您可以使用 RealYou 将项目签出到您的情况下的其他位置,例如 USB 驱动器。然后,您可以在家中处理它,并在周一回来时从 USB 驱动器提交更改。

      您不需要单独的用户。

      【讨论】:

        【解决方案6】:

        您可以只导出您的项目(没有 .svn 子文件夹的相同 fs 结构)并离线工作。重新开始工作时,只需复制您的开发路径,然后提交即可。

        可以使用简单的 vpn(使用 openvpn 来完成您的要求)在家工作,而无需随身携带您的项目。这允许完整的 scm 功能(提交、恢复、历史记录等),对我来说是正确的方式。

        【讨论】:

        • 我以前在以前的雇主那里使用过 VPN。工作得很好。不过,我在这里无法使用此选项:(。感谢您的帮助。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-22
        • 2014-11-21
        • 1970-01-01
        • 2017-12-29
        • 2012-02-23
        • 2015-03-24
        相关资源
        最近更新 更多