2012-12-06 41 views
2

我有一个分支比我想要合并到主干。Subversion:将分支合并到主干时的文件比预期更多

  • 首先,我将树干合并到分支中,以更新它。

  • 之后,我更新干线(本地)也使它与最后的变化。

  • 下一步是将分支合并到主干。

当我看到那些在我的本地树干更改的文件(前提交)我看到,我从我的项目是不是从我的项目文件,而且文件。

可能这些文件来自树干到分支的错误合并。

现在最好的选择是什么?合并所有从trunk的第一个版本到分支的文件(当分支被创建时)?我想我会以这种方式发生很多冲突。 从trunk中创建一个新的分支,并从我的项目中放入这个分支文件?这意味着再次测试。

任何想法?

感谢您的时间

编辑:我的项目可能是最好的/最快的解决方案的唯一提交文件? (90个文件只提交45个文件来自我的项目)

+0

在普通情况下,你的第2步是错误的:你必须收集所有更改树干合并的那一刻,合并主干分支(它的分支包含*仅限本地*更改后),合并分支到主干 –

+0

我增加了在步骤2中本地字。问候 –

+0

懒惰你告诉我的是我所做的。在合并分支到主干之后的最后一步,我看到更改列表中看到的文件比我期望的要多。 –

回答

2

那些已被更改的文件,文件的内容是修改的,还是其属性值被修改?

每当我听到有人告诉我合并改变了太多文件时,我发现问题通常是svn:mergeinfo属性。通过设置此属性,Subversion跟踪合并。如果您始终在项目的根目录下进行合并,则只有根目录将设置此属性,并且所有文件都将共享该属性。如果你这样做单独的文件合并,所有这些文件将有一个svn:mergeinfo属性集,每次你做一个合并的时候,每一个这些文件将是自上所有这些文件也必须进行修改的svn:mergeinfo文件修改

不管你做什么,都不要恢复这些文件以消除合并。这只会让事情变得更糟。 svn:mergeinfo将显示那些文件尚未合并这些修订版本,并且下一次进行合并时,Subversion将重新进行合并,并再次更新svn:mergeinfo

+0

时也很有用,内容文件是已更改的内容。为什么不恢复那些我不想在trunk中提交/修改的文件?我只想提交由我开发的文件。 –

+1

如果这是已更改的文件的内容,您可以恢复它们。我指的是只有'svn:mergeinfo'本身的值发生变化的时候,而不是内容。 –

+0

是David是内容发生了变化,最好的选择似乎是通过合并,只有来自我的项目的文件,恢复更改列表中的其他文件。对? –

相关问题