cvs:更新无法合并

时间:2013-01-10 12:53:53

标签: version-control merge cvs

我刚刚发现,这对我的cvs行为感到惊讶。

  • 我更改了file1 localy
  • 在此期间,人们会更改同一文件的其他无关部分,并提交到存储库
  • 我从存储库
  • 更新我的本地副本
  • 此时我希望我的本地文件副本包含其他人对此文件所做的所有更改,除非上述更新报告存在冲突。然而,当我现在做脑袋时,我发现许多差异来自于其他人在文件的某些部分所做的更改,而我根本没有触及。

有什么想法吗?这只是cvs合并的有限能力吗?任何错误的设置?我的工作流程中有什么东西?

2 个答案:

答案 0 :(得分:1)

CVS的合并设施非常有限。如果你想要更好的合并经验,切换到现代系统,如Git(如果repo维护者不合作,可能通过git-cvsimport)。另请参阅Best practices for using git with CVS

答案 1 :(得分:0)

最终的解决方案是:

  

<强> 1。手动将本地代码保存到其他位置

     

<强> 2。将可能与CVAD服务器上的HEAD(最新版本)版本冲突的文件还原。

     

第3。将您的更改添加回已恢复的文件。

上述解决方案的概念是通过REVERT清除所有可能的问题,并从存储库中获取100%干净的版本,然后添加我们的更改。

它可以解决由于代码过时/代码库搞乱导致的以下问题。

  
      
  1. CVS提交存在冲突且尚未修改
  2.   
  3. CVS更新失败
  4.   
  5. CVS不同步
  6.