【问题标题】:If you merge a specific set of revisions from trunk into a branch with subversion, what happens?如果你将一组特定的修订从主干合并到一个带有颠覆的分支中,会发生什么?
【发布时间】:2010-09-28 05:13:01
【问题描述】:

如果我在主干中对 3 个不同的文件进行更改,分别是修订版 40、45 和 47,而这些文件自修订版 15 以来都没有更改,我如何将这些修订版合并到分支中(在修订版 30并且此后未更改)以便我仅获得每个文件的 rev 15 和 rev 40、45 和 47 之间的更改?

在中间版本中进行了其他更改(显然),但它们不会影响相关文件,我不希望这些更改出现在分支中。

【问题讨论】:

    标签: svn branch svn-merge


    【解决方案1】:

    如果您只在这些提交中对这些文件进行了更改,那么请继续合并这些修订号。如果在这些提交中更改了其他文件,并且您不想要这些更改,我可能会继续进行合并,然后恢复您不想修改的文件的更改,然后进行提交。

    【讨论】:

      【解决方案2】:

      在我们的系统中,我们不断地进行这样的合并。在大多数情况下,一切都很好。

      您可以在所有三个修订版上运行合并,只要更改不相互依赖,您就可以了。

      使用 TortoiseSVN 很容易,因为您可以简单地将 40,45,47 指定为范围匹配。否则,只需为每个修订声明发出一个单独的svn merge,它将把它们整合在一起。

      如果您未引入的更改影响相同的行,您将遇到合并冲突。这是最好的情况,因为这意味着您需要立即查看它以解决冲突。但是,与往常一样,仅仅因为它不是冲突,并不意味着您不会在编译/运行时遇到一些逻辑错误。

      我个人每周会执行数百次此类操作,全部使用自动化脚本。由于我们的代码结构(一个大型存储库,其中大多数更改不会影响相同的文件),我们每周只会遇到一些冲突。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-14
        • 2011-04-22
        • 2021-06-27
        • 2014-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多