git - 执行目录差异时 p4merge 失败?

标签 git difftool p4merge

我正在尝试使用 p4merge 作为我在 git 中的差异/merge 工具。

但是我遇到了一个严重的问题。

我可以使用 p4merge 作为 git difftool <sha1> <sha1> 的差异工具它运作良好。我也可以将它用作 merge 工具。但是当我试着让它做一个像git difftool -d <sha1> <sha1>这样的目录差异时它 pop 一个错误对话框,上面写着:

Errors: '/var/folders/6s/6sCbckgPGH42yLSh2eXveE+++TI/-Tmp-/git-difftool.9rgKV/left' is (or points to) an invalid file. '/var/folders/6s/6sCbckgPGH42yLSh2eXveE+++TI/-Tmp-/git-difftool.9rgKV/right' is (or points to) an invalid file.

Use 'p4merge -h' for more help.

请问这是p4merge不支持directory diff导致的吗?有什么办法可以解决这个问题吗?

顺便说一句,这是我的 .gitconfig设置

; p4merge settings
; Can't do directory diff?
[difftool "p4merge"]
    cmd = /Applications/p4merge.app/Contents/MacOS/p4merge \"$LOCAL\" \"$REMOTE\"
    trustExitCode = false
[mergetool "p4merge"]
    cmd = /Applications/p4merge.app/Contents/MacOS/p4merge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" 
    trustExitCode = false

[difftool]
    prompt = false
[diff]
    ; tool = kdiff3
    tool = p4merge
[merge]
    ; tool = kdiff3
    tool = p4merge

最佳答案

已确认 p4merge 不支持目录 diff。

关于git - 执行目录差异时 p4merge 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900289/

相关文章:

git - 什么是默认的 git diff 工具(和 merge 工具)?

git - "git difftool"为什么不能直接打开工具?

diff - 与剪贴板的三向差异

git - 使用 p4merge 的 'remote' 、 'local' 和 'base' 之间的区别

git 排除 vs 忽略

复制文件的 Git diff

git push --recurse-submodules=on-demand 并不是真正的递归

Git difftool - KDiff3 无法编辑文件

git - p4merge 错误 [GIT]

git - TFS 2015 构建卡在 GIT PUSH 上