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: 不能包含圆括号。
在 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: 不能包含圆括号。