【发布时间】:2010-10-23 22:52:26
【问题描述】:
我正在尝试使用 Araxis Merge 作为 MSYSGit 的差异/合并工具。
我在网上找到了一些资源:
- 在Araxis site 上,他们提到了一种“简单”的方式,但它暗示了不属于我的发行版的可执行文件(araxisgitdiff.exe 和 araxisgitmerge.exe)。
- 我还在 gitguru 中找到了一些信息,但实际信息是:Araxis 充其量是稀疏的,我无法从中得出任何结论。
- 最后,有一些关于旧的stackoverflow post 的信息,但建议的方法对我不起作用。该特定信息面向 OS X。我尽我所能“翻译”到 Windows,但没有成功:
我创建了/bin/git-diff-driver.sh
#!/bin/sh
"/c/Program Files/Araxis/Araxis Merge/compare.exe" -title1:"$1 (repo version)" -title2:"$1 " -max "$2" "$5"
并编辑gitconfig
[merge]
tool = araxismerge
[mergetool "araxismerge"]
cmd = "/c/Program Files/Araxis/Araxis Merge/compare.exe" -3 -merge -wait $LOCAL $BASE $REMOTE $MERGED
[diff]
external = "/bin/git-diff-driver.sh"
我得到的唯一结果是:
$ git diff HEAD^ HEAD
external diff 死了,停在 PowerEditor/src/Notepad_plus.cpp。
编辑:
我也尝试使用名为 "c:/Program Files/Araxis/Araxis Merge/compare.exe" 的 exe,正如其中一个答案所建议的那样,结果相同。
编辑:
我发现如果你使用 TortoiseGit 可以很容易地设置它,但它似乎可以自己处理 diff,并且 TortoiseGit 的设置没有给出任何指示,当从命令行。
编辑:
所以,问题是:有没有人成功地使用 Araxis Merge 来区分和合并 MSYSGit 的东西,如果有,你是怎么做到的?
【问题讨论】:
-
刚刚发布了基于 difftool 和 mergetool 的新解决方案(不在 diff.external 上)。值得一试。
-
刚刚更新了 diff 脚本并与 Araxis compare.exe 合并:现在完全可以使用了!
-
为您无法选择答案的问题添加了用户语音条目:stackoverflow.uservoice.com/pages/1722-general/suggestions/…
-
@Joce 供您参考,目前不选择官方答案是设计使然:请参阅meta.stackexchange.com/questions/1413/…
-
据我所知,Thell 的回答遵循相同的原则,没有 sh 脚本(意思是没有正确的标题)。我仍然会保留我的设置。
标签: windows git diff msysgit araxis