我是mercurial的新手,我对TortoiseHG非常熟悉,但这是我第一次在无头的linux环境中管理项目。我推了一个hg update
后,我得到了这个屏幕:
帮助部分说它是vim,我该如何合并我的应用程序。
答案 0 :(得分:39)
这是vimdiff。您可以通过运行man vimdiff
来了解有关它的更多信息。
但是,我建议使用mercurial的内部:合并工具。它将执行合并,如果发生冲突,则在文件中插入冲突标记并通知您存在冲突。然后打开文件,解决冲突,删除冲突标记,将文件标记为已解析,并在清除所有文件后,您可以提交合并结果。这与subversion处理冲突的方式非常相似。您可以将mercurial配置为使用internal:merge,方法是将以下内容添加到〜/ .hgrc文件中:
[ui]
merge=internal:merge
您将用于获取冲突文件列表并将其标记为已解决的工具称为hg resolve
,因此我建议您运行hg help resolve
以了解有关该工具的更多信息。您可以通过运行hg help merge-tools
来了解有关mercurial对合并工具的支持的更多信息。
答案 1 :(得分:5)
似乎在使用Vim的diff模块时需要一些帮助。见其中一个:
如果你不习惯使用Vim,肯定会有一个选项让你指定你自己喜欢的差异工具,但我不知道HG,所以我不能告诉你你必须修改哪个选项。
打开的Vim有三个文件被分开,所以我猜你在做hg update
时遇到了一些冲突。
答案 2 :(得分:2)
根据我的经验,对于大多数人来说,迄今为止最容易使用的工具是kdiff3(直观的菜单,带有基础的自然视图以及上面的两个提示和下面的结果文本,良好的键盘快捷键 - Ctrl-1 / Ctrl- 2 / Ctrl-3从第一/第二/第三窗口中选择片段,按Ctrl键从冲突跳转到冲突。只需安装此程序并在合并工具配置中给予它最高优先级(设置
)[merge-tools]
kdiff3.priority=1000
)。
一般情况下:无论使用哪种工具,它都会显示文件的冲突版本,并希望您创建最终版本。