windows - 如何将 Araxis 设置为 MSYS git 的差异/merge 工具?

标签 windows git diff msysgit araxis

我正在尝试使用 Araxis Merge作为我的 MSYSGit 差异/merge 工具。

我在网上找到了一些资源:

  • 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 died, stopping at PowerEditor/src/Notepad_plus.cpp.


编辑:

我还按照其中一个答案的建议,尝试使用名为 "c:/Program Files/Araxis/Araxis Merge/compare.exe" 的 exe,结果相同。


编辑:

我发现如果你使用 TortoiseGit 可以很容易地设置它,但它似乎可以自己处理 diff 并且 TortoiseGit 的设置没有给出任何关于如何将 Araxis 设置为 merge 工具的指示,当 diff 从命令行。


编辑:

所以,问题是:有没有人成功地使用 Araxis Merge 与 MSYSGit 比较和 merge 东西,如果有,你是怎么做到的?

最佳答案

如果你想让'git diff'总是使用araxis,你可以使用帮助文件中的说明,但是如果你想控制使用'git diff'就像你通常从命令行和'git difftool ' 以使用 Araxis GUI。

尝试将以下内容添加到您的 git config::

[difftool "araxis"]
    path = "/c/Program Files/Araxis/Araxis Merge/compare.exe"
    renames = true
    trustExitCode = true
[diff]
    tool = araxis
    stat = true
[mergetool "araxismergetool"]
    cmd = 'C:\\Program Files\\Araxis\\Araxis Merge\\araxisgitmerge.exe' "$REMOTE" "$BASE" "$PWD/$LOCAL" "$PWD/$MERGED"
    trustExitCode = false
[mergetool]
    keepBackup = false
[merge]
    tool = araxismergetool
    stat = true

关于windows - 如何将 Araxis 设置为 MSYS git 的差异/merge 工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/825478/

相关文章:

c++ - 互斥(在静态库中)

angularjs - 如何将 MEAN Stack 部署到 Web 主机

git - 为什么不应该将 ssh 和智能 http 访问与 git 混合使用?

c - 在 exe 的入口点周围添加 nop

.net - VB 中有 "coroutine"功能吗?

php - 无法找到套接字传输 "ssl"- 您是否在配置 PHP 时忘记启用它?

git - 我可以在 git 中检索已创建、暂存、从未提交但随后被删除的文件吗?

git - 如何生成忽略空格的 2 个提交之间的差异

diff - 为什么这个补丁以 1 的模糊度应用,而以 0 的模糊度失败?

linux - 输出到文件时得到额外的行?