我在配置 git gui 以运行 tortoisemerge 时遇到一些问题
在我的 .config 中有这些行
[merge]
tool = tortoisemerge
[mergetool "tortoisemerge"]
path = C:\\Program Files\\TortoiseSVN\\bin\\TortoiseMerge.exe
cmd = 'C:\\Program Files\\TortoiseSVN\\bin\\TortoiseMerge.exe' -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"
keepBackup = false
当我做
来自 bash 的“git mergetool”龟龟正确启动
我还修改了mergetool.tcl,在选择要使用的mergetool的开关中添加了
tortoisemerge {
set cmdline [list "$merge_tool_path" -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"]
}
这会启动 tortoisemerge 程序,但会引发错误:
diffing 引擎因错误而中止:
无法打开文件 '\".\Deliveries\RASD.tex.BASE.tex\"':文件名、目录名或卷标语法不正确
该文件实际上存在于我的目录中。
作为一行文件的示例,这里是关于 p4merge 的文件
p4merge {
set cmdline [list "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"]
}
如您所见,代码非常相似。如果 P4MERGE 工具在此设置下工作,我没有尝试,这只是为了展示 git gui 的开发人员如何编写命令行。
这就是构建路径的方式
set MERGED $current_diff_path
set BASE "./$MERGED.BASE$fileext"
set LOCAL "./$MERGED.LOCAL$fileext"
set REMOTE "./$MERGED.REMOTE$fileext"
set BACKUP "./$MERGED.BACKUP$fileext"
如何修改文件以提供正确的 tortoisemerge 路径?为什么它不会给命令行带来任何问题?