2

我在配置 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 路径?为什么它不会给命令行带来任何问题?

4

0 回答 0