我已经成功使git作为比较工具启动了Beyond Compare 3,但是,当我进行比较时,正在比较的文件没有被加载。仅加载文件的最新版本,而没有其他任何加载,因此“超出比较”的右窗格中没有任何内容。
我正在Beyond Compare 3上与Cygwin一起运行git 1.6.3.1,我已经按照他们在其网站的支持部分中所建议的那样,使用如下脚本来设置超越比较:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
还有其他人遇到这个问题并知道解决方案吗?
编辑:
我遵循了VonC的建议,但我仍然遇到与以前完全相同的问题。我对Git有点陌生,所以也许我没有正确使用diff。
例如,我正在尝试使用以下命令查看文件上的
差异:git diff main.css
然后,“超出比较”将打开,并且在左窗格中仅显示我当前的main.css,在右窗格中没有任何内容。我希望在左窗格中看到我当前的main.css与HEAD相比,基本上是我上次提交的内容。
我的git-diff-wrapper.sh看起来像这样:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
我的git配置对于Diff如下所示:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
/c/program files
而不是c:/program files
。我也删除了,"$(cygpath -w $LOCAL)"
并使用了"$LOCAL"
。这似乎可以解决问题。