2010-06-14 68 views
1

简短版本的问题:由于我已经有TortoiseHg,我右键单击该文件试图看到合并冲突的视觉效果,但没有办法看到它?为什么TortoiseHg不显示“合并冲突”?

详情:

为了使合并冲突的一个简单的例子,我hg init在Win 7回购,然后将其复制到另一个文件夹。

现在,在一个工作目录中,我添加了“代码为123”的行,已提交。

而在其他文件夹中,我做了一个“汞拉”和“汞更新”

现在,我回到第一个文件夹,并改变“123”到“123ABC”,然后做一个“hg commit”

然后我转到另一个文件夹,在那里编辑“123”到“123xyz”,做一个“hg commit”,当“hg push”时,它说不能。

所以我尝试使用任何可视化工具来查看冲突是怎样的,但是...... TortoiseHg似乎没有任何选择来做到这一点?

回答

2

还没有冲突呢。与svn或cvs相同,您需要先将更改提取到第二个存储库,然后才能将其提交回第一个存储库,并且这会造成冲突。在第二个信息库,您需要

  1. hg pull来从你的第一个库中的123ABC变化;这将在repoistory 2作为一个新的分支
  2. hg merge合并的变化而产生 - 现在有你需要一个冲突解决
  3. hg commit提交冲突的解决

,现在你可以hg push

+0

1点,2点,3点,我可以对冲突进行视觉检查吗?我实际上在命令行上做了一个拉...和hg合并,它说它有3个头...如果我使用'hg merge -r 14',那么kdiff3会弹出...这是kdiff3的一部分TortoiseHg ?我有点想在文件上“右键单击”来启动合并工具......但似乎没有办法? – 2010-06-14 11:10:00

+1

kdiff3包含在TortoiseHg中,是的,但您可以将其配置为使用其他合并工具。冲突只在步骤2中存在;问题的关键是您的冲突更改作为新的分支头导入到存储库中,并且您必须手动将它们合并(步骤2)。合并与Tortoise隐藏得很好:打开资源库浏览器,选择你的头版本,然后右键单击导入的分支头。只有这样你才能得到“合并”选项。 – Rup 2010-06-14 11:37:51