如何在cygwin中使用BeyondCompare作为git mergetool?

3
如何在cygwin中使用BeyondCompare进行"git mergetool"比较?
2个回答

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许可证,因此无法正确测试合并,但它可以正确打开前两个文件。

2

我对路径如何被清理还相当不确定。这可以更简单吗?我希望只通过配置 Git 而不使用 shell 脚本来完成此操作。 - Vincent Scheib

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接