سؤال

I am trying to use p4merge as my diff/merge tool in git.

But I got a serious problem.

I can use p4merge as a difftool with git difftool <sha1> <sha1> it works well. And I can also use it as a mergetool. But when I try to let it do a directory diff like git difftool -d <sha1> <sha1> it pops up an error dialog which says:

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.

So is this caused because p4merge doesn't support directory diff? is there any way to fix this?

BTW, this is my .gitconfig settings

; 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
هل كانت مفيدة؟

المحلول

It is confirmed that p4merge does not support a directory diff.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top