3

如何在 cygwin 中使用“git mergetool”中的 BeyondCompare?

4

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

于 2011-11-17T19:27:27.520 回答
2

我找到了一些脚本来转换 cygwin 路径(看起来很可靠)并启动 BC3: http: //gist.github.com/564573

于 2010-09-03T21:50:07.423 回答