【发布时间】:2010-12-07 23:16:50
【问题描述】:
我们最近创建了一个分支,其中包含为某个客户定制的代码版本。我们同时在两个分支上工作,将“通用”更改提交到主干,然后将它们合并到分支。
最近,我们遇到了一个麻烦的情况。在trunk/bar.c 中,我们(除其他外)有一个foo() 函数。现在,在branch/bar.c 中,该功能已被删除,因为它在那里没有用处。在trunk 中修改foo() 时会出现问题。当我们将更改合并到分支中时(“合并修订范围”),TortoiseSVN“三向合并”工具在方法上显示冲突(这很烦人,但我可以看到一些原因),但它也确实在文件中显示了整个 许多其他更改 - 这似乎是凭空出现的(看起来有点像要显示在树干和分支)。这使得合并变得更加困难,因为它充满了一些不重要的旧变化。
你有遇到过这样的情况吗?您有什么建议,尤其是在合并过程中更容易发现重要差异?
作为一个(希望是)临时解决方案,我将尝试 #ifdef 删除已删除的区域,以便 SVN 认为代码仍然存在并且有更好的时间进行合并。 (不幸的是,这会使代码有点难看,并且在删除更多功能时会变得更难看。)
【问题讨论】:
-
我赞成,因为我有类似的问题
-
您使用的是哪个版本(客户端和服务器)? 1.4? 1.5? ...