我正在使用Subversion 1.7.x,在一个分支上进行我的开发。
我不时地从树干合并,以保持分支的最新。
但是,在最近的合并过程中,传入的代码虽然在主干中完全正确,但没有在分支中编译。
这是意料之中的,因为在主干中更改的代码在几个版本之前已经在分支中部分重写了。
注意,合并操作干净利落地完成,没有冲突。
为了清晰起见,当我说合并时,我指的是使用来自另一个分支的代码修改工作副本的操作,不涉及提交,即只涉及svn merge [source] [dest]。
由于这个分支最终将重新整合到主干中,我想我有两个选择:
如果我在提交之前编辑合并的代码(即我使用#1),那么在重新整合分支时,这些更改会丢失吗?
发布于 2015-07-06 16:16:25
简短的回答是:不,变化不会丢失。
更多细节。
重新整合合并不同于“常规”同步合并,因为它将分支复制到主干,因此两者都成为identical1。它可以表示为“将分支和主干之间的差异应用于主干(Wc)”。当然,重新整合合并实际上应该是重新整合合并。Subversion 1.8猜测,早期版本在合并期间需要--reintegrate参数。
更新:
实际上,我做了几次测试,发现只有当你合并到工作副本中,更新到最后的同步版本时,结果才会是相同的。例如,如果将主干1-100同步到分支,然后在主干中再创建10个额外的修订,然后将分支重新整合到主干--这里可能有不同之处。
我个人更喜欢同步分支,而不是在主干中的最新修订,重新整合,然后比较文件夹的二进制标识。以防万一:)
https://stackoverflow.com/questions/31250218
复制相似问题