p4merge错误[GIT]
我想用g4使用p4merge,但我得到:
启动p4merge时出错:“path / myFile”是(或指向)无效文件 (这列出了文件的BASE,LOCAL,REMOTE和标准版本)。
Git告诉我有关冲突,然后询问我是否想开始配置mergetool(p4merge),然后我得到上面的错误。
附加说明:它发生在任何文件中!
关于这是什么以及如何解决它的任何线索?
这对我在Windows 7上使用msysGit工作:
git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd 'p4merge $BASE $LOCAL $REMOTE $MERGED'
不知道为什么,但引用搞砸了我。
你会在这里看到我的DiffMerge或KDiff3的配置。
基于此,我会为p4merge推荐:
git config --global merge.tool merge
git config --global mergetool.merge.cmd "merge.sh "$PWD/$LOCAL" "$PWD/$BASE" "$PWD/$REMOTE" "$PWD/$MERGED""
和merge.sh
是一个包装器(复制到您的PATH
环境变量所引用的目录中),能够考虑到不存在BASE
的情况。
(当一个文件在两个不同的分支中被创建并被合并时,那个文件将没有共同的祖先)
#!/bin/sh
# Passing the following parameters to mergetool:
# local base remote merge_result
alocal=$1
base=$2
remote=$3
result=$4
if [ -f $base ]
then
p4merge.exe -dl "$base" "$alocal" "$remote" "$result"
else
p4merge.exe -dl "$result" "$alocal" "$remote" "$result"
fi
您可能会注意到:
PWD
merge
”作为merge.sh
名称的名称(因为实际的工具在merge.sh
脚本中调用,您可以在其中切换任意数量的合并工具) $base
, $alocal
, $remote
, $result
使用双引号 刚刚进行了测试(事实证明,即使您没有安装任何其他P4产品,您也可以只下载和安装p4merge - 部分Client / Visual Merge Tool - )。
使用上述设置,MSysGit1.6.3,DOS会话或Git bash会话:
它只是工作。
更新msysgit 1.7.x
Benjol在评论中提到:
现在msysgit本地支持p4merge 。
这意味着你可以做到:
git config --global merge.tool p4merge
# and I recommend
git config --global mergetool.keepBackup false
链接地址: http://www.djcxy.com/p/41955.html
上一篇: p4merge error [GIT]
下一篇: How do I view 'git diff' output with my preferred diff tool/ viewer?