如何使用Git Extensions配置Araxis Merge

12
如何使用 Araxis 合并/差异工具配置 Git Extensions?
我正在尝试将 Araxis merge 工具与 Git Extensions 配置在一起,但是没有找到帮助文档。所有的链接或搜索都只涉及 Git (使用 shell),而 Git Extensions 是一个 GUI 工具,它有一个选项(在“全局设置”中)可以为合并和差异等不同的工具进行配置。
从 difftool 下拉菜单中选择 Araxis,它会自动选择已安装位置的正确路径。
 C:/Program Files (x86)/Araxis/Araxis Merge/AraxisGitDiff.exe

mergetool 下拉菜单中

C:/Program Files (x86)/Araxis/Araxis Merge/AraxisGitMerge.exe

然而,它们中的每一个都有一个额外的文本框,其中包含difftool commandmergetool comand。 我已尝试在这些文本框中输入以下命令。


AraxisGitDiff.exe $1 $2

请记住,上述命令将用Git扩展中选择的1和2替换,并且当我右键单击文件并选择选项"使用差异工具打开" -> "A <-> B"时,屏幕上没有任何东西出现。

类似地使它

AraxisGitDiff.exe $LOCAL $REMOTE

无法工作。

当我清空这个字段时,会出现以下错误。

---------------------------
Araxis Merge Command Line Compare Utility v7.0
---------------------------
Usage:

araxisgitdiff [/? | /h] <path> <old-file> <old-hex> <old-mode> <new-file> <new-hex> <new-mode>

---------------------------
OK   
---------------------------
4个回答

14

我使用的设置如下:

  • 合并工具(Mergetool) - Araxis
  • 合并工具路径(Path to mergetool) - C:\Program Files\Araxis\Araxis Merge\Compare.exe
  • 合并工具命令(Mergetool command) - /merge /wait /a2 /3 "$LOCAL" "$BASE" "$REMOTE" "$MERGED"

  • 比较工具(Difftool) - araxis

  • 比较工具路径(Path to difftool) - C:\Program Files\Araxis\Araxis Merge\Compare.exe
  • 比较工具命令(Difftool command) - LEAVE EMPTY

在合并时,左侧窗格是本地文件,右侧窗格是远程文件。中间窗格包含基础文件(或共同祖先),您需要将文件/内容合并到此文件/窗格中。

更新 - 2018-02-19

看起来新版本的GitExtensions可能无法使用上述设置。以下更改应该可以解决任何问题。

  • 合并工具(Mergetool) - Araxis
  • 合并工具路径(Path to mergetool) - "C:\Program Files\Araxis\Araxis Merge\Compare.exe"
  • 合并工具命令(Mergetool command) - -merge -max -wait -a2 -3 "$LOCAL" "$BASE" "$REMOTE" "$MERGED"

  • 比较工具(Difftool) - araxis

  • 比较工具路径(Path to difftool) - "C:\Program Files\Araxis\Araxis Merge\Compare.exe"
  • 比较工具命令(Difftool command) - -max -2 -wait "$LOCAL" "$REMOTE"

请注意,现在在工具的路径周围有双引号。


+1 看起来可以,我会详细测试代码文件并回来,谢谢。至少不是像“什么都没有发生”那样,它显示了差异工具并展示了更改。 - PHP Avenger
这个(自GitExtensions 2.48.05起)不再起作用了,我认为需要一个适当的命令来代替LEAVE EMPTY...?! - Petar Ivanov

1

我遇到了同样的问题,并通过从kdiff3复制模式成功地找到了一个可行的解决方案。这似乎适用于Araxis 2010和大多数后续版本。

Mergetool
Araxis

Path to mergetool
C:/Program Files/Araxis/Araxis Merge/Merge.exe

Mergetool command
"C:/Program Files/Araxis/Araxis Merge/Merge.exe" "$LOCAL" "$REMOTE" "$MERGED$"

Difftool
Araxis    

Path to difftool
C:/Program Files/Araxis/Araxis Merge/Merge.exe

Diftool command
"C:/Program Files/Araxis/Araxis Merge/Merge.exe" "$LOCAL" "$REMOTE"

1
以下步骤已经在Git Extensions v2.47.3上进行了测试。
使用Araxis Merge进行文件比较和合并的步骤如下:
  • 在Git Extensions浏览器中,从工具菜单中选择“设置”。

  • 在“设置”窗口中,从左侧树中选择“全局设置”。

  • 在Mergetool下拉框中,选择Araxis。

  • 在Path to mergetool字段中,输入以下内容:

    C:/Program Files/Araxis/Araxis Merge/Compare.exe

  • 在Difftool下拉框中,选择araxis。

  • 在Path to difftool字段中,输入以下内容:

    C:/Program Files/Araxis/Araxis Merge/Compare.exe

:来源


1

根据Wade answer,我最终将包含Merge.exe的Araxis文件夹添加到PATH中,然后在我的.gitconfig中使用了这个:

[diff]
    tool = araxis
[difftool]
    prompt = false
[difftool "araxis"]
    cmd = merge $LOCAL $REMOTE

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