我有两个来自主干的分支,它们分别维护了一年多,比如分支 A 和 B。现在我必须将一个合并到另一个中。我想要的是比较两者的变化,然后比较新的变化,进入合并的分支。
我过去使用过 SVN 合并,但我理解它的方式是它将一个分支中的“差异”应用到另一个分支。我不想要所有的差异——只有更新的。
是否可以在 SVN 中执行此操作?
谢谢。
我有两个来自主干的分支,它们分别维护了一年多,比如分支 A 和 B。现在我必须将一个合并到另一个中。我想要的是比较两者的变化,然后比较新的变化,进入合并的分支。
我过去使用过 SVN 合并,但我理解它的方式是它将一个分支中的“差异”应用到另一个分支。我不想要所有的差异——只有更新的。
是否可以在 SVN 中执行此操作?
谢谢。
Merge 进行 3 路合并。这是一个标准算法,其工作原理如下:
因此,这将应用来自两个分支的所有更改。如果双方都进行了相同的更改,则应用它。如果相同的代码以不同的方式更改,那就是冲突,您必须解决它。而且您不会看到它来自哪个特定的修订版,它们都汇总在一起。
现在,如果这不是您想要的,另一种选择是手动列出要合并的修订。这只会应用在那些特定修订中所做的更改,一次每个连续范围(算法实际上是相同的,但基础是所选范围开始之前的修订)。这意味着您必须亲自挑选您想要的更改。这种方法有两个问题:工作量很大,而且您必须小心选择所有需要的更改才能使以后的更改生效。
现在你想要所有“更新”的变化。您必须以计算机可以理解的方式定义哪些含义。你必须小心上面的第二个问题——这些变化可能相互依赖,你也必须选择依赖的变化。