代码之家  ›  专栏  ›  技术社区  ›  linjunhalida

如何将代码分支到另一个SVN存储库?

  •  4
  • linjunhalida  · 技术社区  · 17 年前

    我们有两个存储库,一个用于当前代码,另一个用于项目管理。

    SVN给了我一个错误,我在文档中发现SVN无法完成这项工作(不同的存储库),

    因此,我导出代码并签入项目存储库。

    问题:

    • 对于我的情况,我如何将更改从项目存储库移回 到当前存储库?(我还没有测试它,但我认为差异或补丁可能会奏效)

    6 回复  |  直到 14 年前
        1
  •  6
  •   Theo.T    17 年前

    如果我做得对,您想将已经处于版本控制下的内容从存储库添加到另一个存储库吗?如果是这样,你可能应该看看 svnsync 这有助于您合并不同的存储库。

    否则,保留这两个存储库并添加可能更简单 external 定义(链接)使它们共存。这样你就不必费心去打破任何东西了。

        2
  •  3
  •   KOGI    17 年前

    TortoiseSVN提供了“在此处复制并添加这些文件”功能,但从SVN 1.5.5开始,此功能不受支持。我还没有用1.6.0测试过它

    将文件从存储库a向右拖动(而不是正常的向左拖动)到存储库B中的一个目录中,然后释放鼠标。将出现一个菜单,询问您想做什么。我认为有4个选项可供选择(除了正常的操作系统选项)。选择最合适的一个。

        3
  •  1
  •   gbarry    17 年前

    svn_load_dirs.pl online manual

        4
  •  1
  •   Andrew Edgecombe    17 年前

    不管怎样,如果你离开存储库,你会失去所有的历史记录,也会失去所有分支或合并的机会。因此,你需要重新思考你的组织。或者使用一个不同的版本控制系统来做你想做的事情。

        5
  •  0
  •   Frank    17 年前

    @andrew edgecombe已经(间接)提到了“供应商分支机构”,这似乎是可能的。这个概念似乎在以后的SVN版本中得到了一些更新,因为 version 1.8 documentation

    svn copy http://remote_v1 local

    并且稍后通过2-URL合并来合并新的更新:

    svn merge http://remote_v1 http://remote_v2 local

    我想说,同样的2-URL合并也可以用于将本地更改合并回原始仓库。有关更多详细信息,请参阅链接文档中的“外国仓库的供应商分支机构”一章。