在cygwin下,如何配置Mercurial以使用WinMerge进行合并?

前端之家收集整理的这篇文章主要介绍了在cygwin下,如何配置Mercurial以使用WinMerge进行合并?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当Mercurial在cygwin下运行时,找出如何产生 WinMerge解决合并冲突有点棘手.我该怎么做?

解决方法

诀窍是cygwin路径与Windows路径不一样,因此您需要一个脚本,将cygwin路径转换为Windows路径,然后将其作为参数传递给WinMerge.

以下是如何做到这一点:

(1)在/usr/bin/winmerge中创建一个shell脚本,如下所示:

#!/bin/sh
"/cygdrive/c/Program Files/WinMerge/WinMergeU.EXE" /e /ub /dl other /dr local `cygpath -aw $1` `cygpath -aw $2` `cygpath -aw $3`

注意:cygpath转换路径名.如果WinMerge不在默认位置,请在此更改路径.

(2)使该文件可执行

chmod +x /usr/bin/winmerge

(3)将以下内容添加到〜/ .hgrc文件中:

[ui]
merge = winmerge

[merge-tools]
winmergeu.executable=/usr/bin/winmerge
winmergeu.args=$other $local $output
winmergeu.fixeol=True
winmergeu.checkchanged=True
winmergeu.gui=False

注意!你可能已经有一个[ui]部分你的名字.记住将我的更改与您的合并,不要仅添加一个新的[ui]部分.例如,我的.hgrc看起来像这样:

[ui]
username = Joel Spolsky <spolsky@example.com>
merge = winmergeu

[extensions]
fetch =

[merge-tools]
winmergeu.executable=/usr/bin/winmerge
winmergeu.args=$other $local $output
winmergeu.fixeol=True
winmergeu.checkchanged=True
winmergeu.gui=False

猜你在找的Python相关文章