在主干和分支中移动文件并在此之后合并

时间:2014-06-18 11:19:49

标签: svn version-control merge

我有一种情况,我的课程太多了。我想将它们放在一个目录中,以避免不必要的文件搜索。有干线(所有实际开发都在这里),还有几个分支具有相同的文件和许多小的自定义。

在主干中使用svn move然后将该修订版合并到所有分支可能会删除所有自定义项,因为它基本上只是删除和添加,所以我想如果我在主干中运行相同的svn move命令并且所有分支,并且从未将特定修订从主干合并到任何上述分支?

问题是,如果我必须对这些文件进行更改,我绝对不知道从中继到分支的合并是否会起作用。我手上是否有巨大的灾难(我经历过关于Subversion和移动/重命名文件的所有恐怖和特别的蠢事),或者SVN是否能够很好地播放一次?

编辑:我们正在使用Subversion 1.6.15

2 个答案:

答案 0 :(得分:1)

  

如果我必须对这些文件进行更改,我完全不知道从干线到分支的合并是否会起作用

。合并在一侧编辑并在另一侧移动是保证成为“重构地狱”的受害者并获得树冲突的方法,即使在SVN 1.8+中也是如此。对于1.6+的情况更糟糕,更常见的是

答案 1 :(得分:0)

它不会工作 - 你可能最终会遇到邪恶的双胞胎'如果您在2个分支中添加了2个文件,但在合并时具有相同的名称,则会出现问题。如果您将修订标记为已合并且文件存在于主干上,则您应该没问题。看看this question

但是,一种可能更好的方法是将更改合并到trunk(我假设最终会发生)编辑,然后从包含重构目录的主干分支出来,继续对这些文件进行更改。

升级,1.8在树冲突方面要好一些,特别是支持合并到移动的文件中 - 在1.6中它可以正确解析它,有时不能解决,所以1.7每次都标志着冲突。