Windows git difftool 无法解析带空格的 extcmd 路径

Windows git difftool cannot parse extcmd path with spaces

在 Windows 中,从 Git MSYS 命令行,我想 运行 这个命令:

git difftool --extcmd=/C/Program Files/Beyond Compare 4/Bcomp.exe -- file_to_diff.ext

我很难正确解析 extcmd 参数。

我找到了命令的正确写法:

 git difftool -y --extcmd="'/C/Program Files/Beyond Compare 4/BComp.exe'" -- file_to_diff.ext

注意双引号后面跟着单引号。

不幸的是,这只适用于第一个参数。 后面的参数,'在显示的时候去掉了,但是还是从space.

截掉了

很遗憾,我在其他任何地方都找不到解决方案。

git difftool --extcmd="'/C/Program Files/TortoiseGit/bin/TortoiseGitMerge.exe' /base:$LOCAL /mine:$REMOTE /basename:HEAD /minename:'xx yyyy'" --no-prompt "C:\......file-in-repo"

git difftool --extcmd="'/C/Program Files/TortoiseGit/bin/TortoiseGitMerge.exe' /base:$LOCAL /mine:$REMOTE /basename:HEAD '/minename:xx yyyy'" --no-prompt "C:\......file-in-repo"

此外,/minename: 不能包含圆括号。