Beyond Compare作为带有Git的Diff工具 - 如何命令行切换:/ expandall

时间:2013-04-08 07:47:10

标签: git diff beyondcompare3

我的git全局配置C:\ Users \ .gitconfig看起来像:

[diff]
tool = bc3

[difftool "bc3"]
path = C:/Program Files (x86)/Beyond Compare 3/BCompare.exe
cmd = \"C:/Program Files (x86)/Beyond Compare 3/BCompare.exe\" \"$LOCAL\" \"$REMOTE\"

我使用的是Windows 7 x64操作系统。我有Beyond Compare Pro 3.3.5版本。

我想在调用BCompare.exe时传递一个或多个参数 我试过这个,但它不起作用:

cmd = \"C:/Program Files (x86)/Beyond Compare 3/BCompare.exe\ /expandall" \"$LOCAL\" \"$REMOTE\"

git difftool --dir-diff dev master

我想在开发和主分支之间进行目录比较,并扩展Beyond Compare工具中的所有文件夹。这应与Beyond Compare GUI中的相应按钮相同:展开全部,展开左右窗格中的所有文件夹。

我需要传递2个参数:/ solo / expandall

谢谢, 弧度

1 个答案:

答案 0 :(得分:12)

使用表单-expandall代替/expandall,并注意-solo 必需(以下说明)。

[diff]
    tool = bc3
[difftool "bc3"]
    cmd = \"E:/PortApps/Beyond Compare 3/bcomp.exe\" -expandall -solo \"$LOCAL\" \"$REMOTE\"

以上版本适用于Windows XP SP3(x86 32位)上的Beyond Compare 3.3.8(标准版)和Git For Windows 1.8.4(msysgit)。

备注

  1. 如果我提供了path,我发现cmd设置不是必需的。

  2. 根据BC tech support 可能需要使用BCompare.exe代替bcomp.exe ...但我发现无论哪种方式都可行。

  3. Solo解释

    -solo选项使比较在新窗口中打开。在删除要比较的临时文件之前,difftool将等待您关闭它。

    如果没有此选项,如果您已打开Beyond Compare窗口,则比较将显示在那里的新选项卡中。这似乎很方便但实际上不会起作用,因为difftool会立即删除要比较的文件,因为bcomp.exe的调用只是将任务委派给已经运行的应用程序然后退出。 / p>