如果你将一组特定的修订版本从trunk转换为一个带有subversion的分支,会发生什么?

时间:2008-12-23 17:17:37

标签: svn branch svn-merge

如果我将主干中的更改分别更改为3个不同的文件,分别是修订版40,45和47,其中这些文件自修订版15以来都没有更改,如何将这些修订版合并到分支中(在修订版30中进行修改)因为我只得到每个文件的rev 15和rev 40,45和47之间的变化?

其他更改已在中间修订(显然)中进行,但它们不会影响相关文件,我不希望这些更改显示在分支中。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

使用TortoiseSVN可以轻松实现,因为您可以简单地将40,45,47指定为范围匹配。否则,只需为每个修订语句发出单独的svn merge,它就会将它们全部拉出来。

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

我个人每周都会做几百个,都是自动脚本。由于我们的代码是如何构建的(一个大型存储库,其中大多数更改不会影响相同的文件),我们每周只会遇到一些冲突。