Darcs冲突

时间:2009-05-05 14:27:17

标签: conflict darcs

我几天前安装了Darcs并且有疑问。 我是唯一的程序员,我通常会在应用程序的两三个实例上工作,从而开始新的尝试。问题来了,因为这个实例修改了相同的源代码文件,所以当我完成它们并发送到主存储库时,它们会产生冲突。 有什么方法可以解决这个问题吗?我可以在多个实例中编写相同的文件,而不会在推送到主存储库时发生冲突吗? 感谢

1 个答案:

答案 0 :(得分:5)

首先,当文件的不同位置发生更改时,合并时通常不会发生冲突。当两个补丁可以合并而没有冲突时,可以说它们是通勤的。在您的情况下,您在两个不同的分支中修改了文件的相同部分。在这种情况下,darcs不允许您“推送”导致冲突的第二个补丁。

有两种方法可以解决这种问题,但您必须开始在本地合并这两个补丁以解决工作回购中的冲突。为此,只需从主存储库中提取补丁即可。然后你必须编辑冒犯的文件并解决冲突。

第一种方法很简单并且是首选解决方案,你必须“修改 - 记录”主存储库中尚未存在的补丁(查看“darcs amend-record”命令的用法)。

另一个解决方案是通过调用“darcs record”然后同时推送冲突补丁和解析补丁来记录分辨率补丁。这种解决方案往往会使历史变得复杂,并且可能会使后续操作更长时间。但是,当分支分布很大时,需要使用此解决方案。