我几天前安装了Darcs,对此我有疑问。我是唯一的程序员,我通常在应用程序的两三个实例上工作,创造新的特性。问题来了,因为这个实例修改了相同的源代码文件,所以当我完成它们并将它们发送到主存储库时,它们会产生冲突。有什么办法解决这个问题吗?是否可以在多个实例中写入同一个文件,而不会在推送到主库时造成冲突?谢谢
发布于 2009-05-12 11:53:15
首先,当文件的不同位置发生更改时,合并时通常不会发生冲突。当两个补丁可以无冲突地合并时,可以说它们是互换的。在您的例子中,碰巧您在两个不同的分支中修改了文件的相同部分。在这种情况下,darcs不允许你“推送”造成冲突的第二个补丁。
有两种方法可以解决这样的冲突,但您必须开始在本地合并这两个补丁,以在您的工作存储库中获得冲突。要做到这一点,只需从主库中拉出补丁即可。然后,您必须编辑违规文件并解决冲突。
第一种方法很简单,而且是首选的解决方案,您必须“修改-记录”尚未在主存储库上的补丁(查看"darcs amend record“命令的用法)。
另一种解决方案是记录一个解决方案补丁,方法是调用"darcs record“,然后同时推送冲突补丁和解决方案补丁。这种解决方案往往会使历史变得复杂,并会使一些后续操作变得更长。但是,当分支大量分布时,就需要此解决方案。
https://stackoverflow.com/questions/825115
复制相似问题