Mercurial Diff Merge:这是什么工具,我该如何使用它?

我对mercurial是新手,我对TortoiseHG非常熟悉,但这是我第一次在无头Linux环境下pipe理一个项目。 推后,我做了一个hg update ,我得到这个屏幕:

在这里输入图像描述

帮助部分说这是vim,我怎么去合并我的应用程序。

这是vimdiff。 您可以通过运行man vimdiff来了解更多信息。

但是,我会建议使用mercurial的内部:合并工具。 它将执行合并,如果发生冲突,则在文件中插入冲突标记并通知您存在冲突。 然后打开文件,解决冲突,删除冲突标记,将文件标记为已解决,以及在清理所有文件时,可以提交合并结果。 这与Subversion如何处理冲突非常相似。 您可以将mercurial配置为使用internal:merge,将以下内容添加到〜/ .hgrc文件中:

 [ui] merge=internal:merge 

您将用于获取冲突文件列表并将其标记为已解决的工具称为hg resolve ,因此我建议您运行hg help resolve来了解有关该工具的更多信息。 您可以通过运行hg help merge-tools来了解更多关于mercurial对合并工具的支持。

好像你在使用Vim的diff模块时需要一些帮助。 看到其中之一:

如果你不习惯使用Vim,肯定有一个选项可以让你指定自己喜欢的diff工具,但是我不知道HG,所以我不能告诉你哪个选项需要修改。

打开的Vim有三个文件被分开,所以我想你在进行hg update时候遇到了一些冲突。

从我的经验来看,大多数人最容易使用的工具是kdiff3(直观的菜单,基本的自然视图,上面的提示和下面的结果文本,良好的键盘快捷键 – Ctrl-1 / Ctrl-2 / Ctrl -3从第一个/第二个/第三个窗口挑选片段,Ctrl-箭头从冲突跳转到冲突)。 只需安装此程序,并在合并工具配置(set)中给予最高优先级

 [merge-tools] kdiff3.priority=1000 

)。

一般来说:无论您使用哪种工具,它都会显示您的文件版本冲突,并希望您创建最终版本。