如何在cygwin中使用“git mergetool”中的BeyondCompare?
答案 0 :(得分:3)
这是一个简单的答案。
#! /bin/sh
LOCAL=`cygpath -wa $1`
REMOTE=`cygpath -wa $2`
BASE=`cygpath -wa $3`
MERGED=`cygpath -wa $4`
/cygdrive/c/BeyondCompare3/BComp.exe $LOCAL $THEIRS $BASE $MERGED
或者像你的git配置一样。
[mergetool "mergetool"]
cmd = /cygdrive/c/BeyondCompare3/BComp.exe `cygpath -wa "$LOCAL"` `cygpath -wa "$REMOTE"` `cygpath -wa "$BASE"` `cygpath -wa "$MERGED"`
我使用cygpath(与cygwin一起提供)来转换路径。 -w
标志从cygwin格式(从/ cygdrive / c开始)转换为windows格式(从c :)开始。 -a
标志使用绝对文件名。
注意:我没有Pro BeyondCompare许可证,因此我无法正确测试合并,但它正确地打开了前两个文件。
答案 1 :(得分:2)
我找到了一些脚本来转换cygwin路径(看起来很健壮)并启动BC3: http://gist.github.com/564573