36

我有一个合并冲突,使用 Mercurial 1.0.2:

merging test.h
warning: conflicts during merge.
merging test.h failed!
6 files updated, 0 files merged, 0 files removed, 1 files unresolved
There are unresolved merges, you can redo the full merge using:
  hg update -C 19
  hg merge 18

我不知道如何解决这个问题。谷歌搜索结果指示使用:

hg resolve

但由于某种原因,我的 Mercurial (v1.0.2) 没有解析命令:

hg: unknown command 'resolve'

我该如何解决这个冲突?

4

3 回答 3

80

要在 Hg 1.1+ 的评论中突出显示答案:

对于Hg 1.1+ 手动修复文件,然后执行

hg resolve -m test.h

将文件标记为已合并。

于 2010-04-07T09:20:49.490 回答
14

仅对 hg < v1.1 有效

无需调用任何hg命令。与 不同svn,Mercurial 不跟踪冲突文件。如果您调用hg status,您会看到该文件被简单地标记为已修改。

只需手动修复文件并提交即可。

于 2009-04-28T06:44:17.263 回答
10

Mercurial 1.1中引入了跟踪冲突,这是您正在使用的较新版本(您确实应该升级,Mercurial 1.1. 于 2008 年 12 月发布)。在那个版本中,您获得了resolvesvn resolve.

我记得,当发生冲突时,Mercurial 会在您的文件中留下合并标记(<<<<>>>>行),除非您配置了合并工具。这也适用于较新的版本——我没有配置合并工具并在发生冲突时获取合并标记。然后我可以手动修复文件并将其标记为已解决hg resolve

于 2009-08-21T19:06:02.983 回答