在命令行上合并Mercurial冲突?

时间:2011-10-31 20:13:19

标签: shell mercurial ssh

好的我通过SSH连接到服务器,我运行命令:

  

hg merge

我现在被带到一个分成3个部分的屏幕。在底部,它们被标记为:

  1. 文件

  2. 文件〜other.Dcyqtz

  3. 文件〜base.N64J4dp

  4. 显然它要我解决冲突。看起来第一个是我的本地更改,另一个是我刚刚拉动并尝试合并的更改。在分割之前,base就是文件的样子。

    因此,对于存在冲突的每个部分,我认为我要选择保留3个中的哪个。

    我该怎么做?

    我在命令shell中,所以我无法点击任何内容。我只能在3的第一个中上下移动光标,我不知道如何将光标移到其他2个部分。

    我不知道如何指定,在这里使用我的,在那里使用其他,并在那里使用base。

    我也不知道怎么说,我放弃并退出。

    所以目前我被困住了。

3 个答案:

答案 0 :(得分:3)

正如Cesar所说,你需要一个merge tool。如果您熟悉vim,我建议vimDiff

另外,请不要担心,您没有丢失任何数据或做错了什么。 只需设置一些合并工具,使用hg update -C从干净的平板开始。继续hg merge

答案 1 :(得分:2)

也许您需要的是merge tool

<强>更新

当然,您可能希望将SSH与X11 forwarding

一起使用

答案 2 :(得分:1)

我在完全相同的情况下磕磕绊绊,使用KUbuntu 11.04。 (而我曾经使用过emacs,而不是vim。所以看看那些3split控制台对我来说也是令人惊讶的。)

现在我做了hg rollback并安装了合并gui工具 KDiff3 。 然后研究“如何在hg合并中激活这个gui合并工具?”

  

hg help merge

告诉我该怎么做......

  

哪个kdiff3

的/ usr /斌/ kdiff3

所以我添加到~/.profile

export HGMERGE="/usr/bin/kdiff3"

然后一切都完成了。 在一个新的shell hg merge弹出了gui合并工具 KDiff3 ,请参阅handbook-pdf http://kdiff3.sourceforge.net/doc/kdiff3_de.pdf