[英]Merge with no conflicts, the code doesn't compile: should I fix it before commit?
我正在使用Subversion 1.7.x,正在分支上进行开发。
我会不时地从树干合并,以使分支保持最新状态。
但是,在最新的合并过程中,虽然传入的代码在主干中完全正确,但在分支中没有编译。
这是可以预期的,因为在干线中更改的代码已在多个修订版本的分支中部分重写。
请注意,合并操作已完全完成,没有冲突。
为了清楚起见,当我说合并时,我的意思是用另一个分支的代码修改工作副本的操作,不涉及任何提交,即svn merge [source] [dest]
。
由于该分支最终将重新整合到主干中 ,我想我有两种选择:
如果我在提交之前编辑了合并的代码(即,我与#1一起使用),那么在重新集成分支时,这些更改会丢失吗?
简短的答案是:不,更改不会丢失。
更多细节。
重新整合合并与“常规”同步合并不同,因为它会将分支复制到主干,因此两者变得相同[1]。 可以表示为“将分支和主干之间的差异应用于主干(wc)”。 当然,重新整合合并实际上应该是重新整合合并。 Subversion 1.8以某种方式猜测,早期版本在合并过程中需要--reintegrate
参数。
更新:
[1]实际上,我进行了几次测试,发现只有合并到更新为最新同步修订版的工作副本中,结果才是相同的。 例如,如果将主干1-100同步到分支,然后在主干10中创建更多其他修订,然后将分支重新集成到主干-这可能有所不同。
我个人更喜欢同步分支而不是主干中的最新修订版,重新集成然后比较文件夹的二进制身份。 以防万一 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.