我使用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
我无法弄清楚如何解决这个问题。 Google搜索结果指示使用:
hg resolve
但由于某种原因,我的Mercurial(v1.0.2)没有解析命令:
hg: unknown command 'resolve'
如何解决此冲突?
答案 0 :(得分:79)
要在Hg 1.1 +的评论中突出显示答案:
对于 Hg 1.1 + 手动修复文件,然后执行
hg resolve -m test.h
将文件标记为已合并。
答案 1 :(得分:14)
适用于hg<仅限v1.1
无需调用任何hg
命令。与svn
不同,Mercurial不会跟踪冲突的文件。如果您致电hg status
,您会看到该文件只是标记为已修改。
手动修复文件并提交。
答案 2 :(得分:10)
跟踪冲突是在Mercurial 1.1中引入的,这是您正在使用的较新版本(您应该真正升级,Mercurial 1.1。已于2008年12月发布)。
在该版本中,您获得了resolve
命令,该命令与svn resolve
的工作方式类似。
我记得,除非您配置了merge tool,否则当发生冲突时,Mercurial会在文件中保留合并标记(<<<<
和>>>>
行)。这也适用于较新的版本 - 我没有配置合并工具,并在发生冲突时获取合并标记。然后,我可以手动修复该文件,并使用hg resolve
将其标记为已解决。