我刚发现,对我来说CVS的行为令人惊讶。cvs:更新未能合并
- 我localy
- 更改文件1在这段时间人修改同一个文件的其他不相关的部分,并提交到库
- 我从仓库
- 更新我的本地副本,在这一点上,我希望我的本地副本file1包含其他人对此文件所做的所有更改,除非上述更新报告有冲突。但是,当我现在头脑发生变化时,我发现很多差异来自其他人在文件的某些部分所做的更改,这些更改我完全没有触及。
任何想法?这只是CVS合并的有限能力吗?任何错误的设置?我的工作流程中有什么?
我刚发现,对我来说CVS的行为令人惊讶。cvs:更新未能合并
任何想法?这只是CVS合并的有限能力吗?任何错误的设置?我的工作流程中有什么?
CVS的合并设施非常有限。如果您想要更好的合并体验,请切换到现代系统,例如Git(如果回购维护人员不合作,则可能通过git-cvsimport
)。又见Best practices for using git with CVS
最终的解决方案是:
1.您的本地代码保存到另一个地方手动
2.还原这些可能有冲突的头文件(最新最)版本在CVS服务器上。
3.将您的更改添加到恢复的文件。
对上述方案的概念是从REVERT库清理所有可能的问题,并获得了100%的干净版本,则加回我们的变化。
它可以解决以下问题,这些问题是由代码过期/代码库造成的。
- CVS提交了冲突并没有被修改
- CVS更新失败
- CVS不同步
嗯...任何方式要求CVS使用外部合并工具? – shealtiel
是的,这是可能的,但需要CVS支持的工具,或某种CVS包装。见例如http://stackoverflow.com/questions/631781/use-a-different-diff-command-with-cvs有些选项。 – tripleee
似乎上述链接中提到的工具仅支持查看外部工具中的差异。有什么可以*与外部工具合并*? – shealtiel