我们的团队已经注意到,如果您的工作文件在已删除的代码块中发生了更改,则CVS会返回已删除的代码。 CVS默默地执行此操作而不显示合并冲突标记。
有没有人可以解决这个问题?
是否有一种聪明的方法可以检测到这种情况即将发生?
答案 0 :(得分:1)
根据您的描述,目前尚不清楚发生了什么。
如果一个开发人员从文件X中删除了一大块代码,而另一个开发人员在删除的代码中间进行了更改,而这就是所有发生的事情,那么如果CVS保持沉默,我会非常惊讶 - 而不是它不可能发生,但我从未见过它在使用CVS的10多年中发生过。
由于CVS跟踪编辑的方式,有可能主要的变化可能使开发人员#2将代码添加到完全不同的位置。特别是如果开发人员#1在开发人员#2进行更新之前进行多次提交。
最好的解决方法可能是在更新之前检查文件的状态。您可以使用“-n”开关执行此操作:
cvs -nq update -P 2> /dev/null
如果您发现您更改的文件将会更新,那么您可以仔细查看它。