繁体   English   中英

合并时没有冲突,代码不会编译:在提交之前我应该​​修复它吗?

[英]Merge with no conflicts, the code doesn't compile: should I fix it before commit?

我正在使用Subversion 1.7.x,正在分支上进行开发。

我会不时地从树干合并,以使分支保持最新状态。
但是,在最新的合并过程中,虽然传入的代码在主干中完全正确,但在分支中没有编译。
这是可以预期的,因为在干线中更改的代码已在多个修订版本的分支中部分重写。

请注意,合并操作已完全完成,没有冲突。
为了清楚起见,当我说合并时,我的意思是用另一个分支的代码修改工作副本的操作,不涉及任何提交,即svn merge [source] [dest]

由于该分支最终将重新整合到主干中 ,我想我有两种选择:

  1. 在提交合并的代码之前修复编译错误;
  2. 树干合并; 提交(合并后的代码,无需编辑); 编辑代码以解决编译问题; 再次提交(即,随后解决编译问题,执行新的单独提交)。

如果我在提交之前编辑了合并的代码(即,我与#1一起使用),那么在重新集成分支时,这些更改会丢失吗?

简短的答案是:不,更改不会丢失。

更多细节。
重新整合合并与“常规”同步合并不同,因为它会将分支复制到主干,因此两者变得相同[1]。 可以表示为“将分支和主干之间的差异应用于主干(wc)”。 当然,重新整合合并实际上应该是重新整合合并。 Subversion 1.8以某种方式猜测,早期版本在合并过程中需要--reintegrate参数。

更新:

[1]实际上,我进行了几次测试,发现只有合并到更新为最新同步修订版的工作副本中,结果才是相同的。 例如,如果将主干1-100同步到分支,然后在主干10中创建更多其他修订,然后将分支重新集成到主干-这可能有所不同。

我个人更喜欢同步分支而不是主干中的最新修订版,重新集成然后比较文件夹的二进制身份。 以防万一 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM