标签: p4merge

37
推荐指数
4
解决办法
1万
查看次数

p4merge错误[GIT]

我想用git使用p4merge,但我得到:

启动p4merge时出错:"path/myFile"是(或指向)无效文件(这列出了文件的BASE,LOCAL,REMOTE和标准版本).

Git告诉我有关冲突然后它询问我是否要启动mergetool配置(p4merge)然后我得到上面的错误.

附加说明:它发生在任何文件!

有关这是什么以及如何解决它的任何线索?

git perforce p4merge git-p4

28
推荐指数
2
解决办法
2万
查看次数

p4merge在执行目录diff时失败了吗?

我试图在git中使用p4merge作为我的差异/合并工具.

但是我遇到了严重的问题.

我可以使用p4merge作为difftool,git difftool <sha1> <sha1>效果很好.我也可以将它用作合并工具.但是当我试图让它做一个目录差异时git difftool -d <sha1> <sha1>会弹出一个错误对话框,上面写着:

错误:'/ var/folder/6s/6sCbckgPGH42yLSh2eXveE +++TI/-Tmp-/git-difftool.9rgKV/left'是(或指向)无效文件.'/var/folders/6s/6sCbckgPGH42yLSh2eXveE+++TI/-Tmp-/git-difftool.9rgKV/right'是(或指向)无效文件.

使用'p4merge -h'获取更多帮助.

这是因为p4merge不支持目录差异吗?有没有什么办法解决这一问题?

顺便说一句,这是我的.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
Run Code Online (Sandbox Code Playgroud)

git p4merge difftool

16
推荐指数
1
解决办法
2658
查看次数

如何将视觉冲突解决方案(P4Merge)集成到SourceTree中

很长一段时间以来,我一直被SourceTree缺乏可用的冲突解决方案所困扰.

应该有一个将p4Merge或其他差异/合并工具集成到SourceTree中的过程.目前,p4Merge是我的首选工具; 现在我只需要弄清楚如何

  1. 获取SourceTree以接受p4Merge作为其合并/差异工具,并且
  2. 能够从SourceTree实际调用p4Merge来解决冲突.

到目前为止,我唯一成功的做法是让P4Merge在SourceTree中显示差异.因此,Actions/External Diff菜单项有效,但Actions/Resolve Conflicts/Launch External Merge Tool菜单项不会(它显示为灰色).

在此输入图像描述

我选择P4Merge两者的diff工具,并在合并工具工具/选项/ DIFF在SourceTree标签.我不能在两个命令行框中放任何东西(即使我知道要放在那里),因为它们也是灰色的.

选项/差异对话框的图片

我该如何工作?

SourceTree版本为1.9.5.0,应该是本文撰写时的最新版本.P4Merge似乎没有帮助/关于对话框,但最近安装了(最近3个月内).

c# git p4merge visual-studio-2015 sourcetree

12
推荐指数
1
解决办法
2834
查看次数

git中的p4merge合并工具出错

我已经为p4merge设置了我的类路径,设置了文件.gitconfig,但是当p4merge工具假设打开那两个冲突的文件时,我得到了这个错误.谁知道解决方案?

添加到类路径:"C:\ Program Files\Perforce\p4merge.exe"添加到.gitconfig文件:

[merge]
    tool = p4merge
[mergetool "p4merge"]
    cmd = p4merge.exe \\\"$BASE\\\" \\\"$LOCAL\\\" \\\"$REMOTE\\\" \\\"$MERGED\\\"
Run Code Online (Sandbox Code Playgroud)

错误信息:

Normal merge conflict for 'protected/views/layouts/main.php':
  {local}: modified file
  {remote}: modified file
Hit return to start merge resolution tool (p4merge):
C:\Program Files (x86)\Git/libexec/git-core/mergetools/p4merge: line 8: p4merge:
 command not found
protected/views/layouts/main.php seems unchanged.
Was the merge successful? [y/n] n
merge of protected/views/layouts/main.php failed
Run Code Online (Sandbox Code Playgroud)

git p4merge

10
推荐指数
2
解决办法
9931
查看次数

在OSX上将P4merge配置为我的SVN diff工具

我想在比较本地和未更改时使用P4merge作为SVN中文件的外部差异工具.我应该在编码的时候花了好几个小时.

在OSX平台上我需要做什么?

svn macos p4merge

10
推荐指数
1
解决办法
865
查看次数

p4merge 和 Git 1.8.3

我如何配置gitp4merge用作我的mergetool

接下来是我现在的情况:

$ git --version
git version 1.8.3.msysgit.0

$ git mergetool

This message is displayed because 'merge.tool' is not configured.
See 'git mergetool --tool-help' or 'git help config' for more details.
'git mergetool' will now attempt to use one of the following tools:
tortoisemerge emerge vimdiff
No known merge tool is available.
Run Code Online (Sandbox Code Playgroud)

git mergetool p4merge

9
推荐指数
2
解决办法
6935
查看次数

如何在p4merge中设置文件标签

从p4v调用p4merge时,它会将库路径显示为文件上的标签.我想使用p4merge作为SVN的差异查看器,为此我有这个批处理文件:

@echo off
pause
p4merge %6 %7
Run Code Online (Sandbox Code Playgroud)

这样可行,但左侧和右侧面板上显示的标签是SVN为p4merge提供的临时文件的名称.SVN传递给批处理文件的参数%3和%5分别包含左侧和右侧面板的相应标签.我确信我记得有命令行参数来设置你想要在每个面板上显示的标签,但它们没有列出p4merge -h.这些是什么?

svn perforce p4merge

8
推荐指数
1
解决办法
1686
查看次数

使用p4merge作为git diff工具

我用windows 7.我想p4merge用作Git diff/merge工具.我按照这篇文章这个来设置和配置p4merge:

git config --global merge.tool p4merge
git config --global mergetool.p4merge.path "C:/Program Files/Perforce/p4merge.exe"
git config --global diff.tool p4merge
git config --global difftool.p4merge.path "C:/Program Files/Perforce/p4merge.exe"
Run Code Online (Sandbox Code Playgroud)

这些行来自git config:

merge.tool=p4merge
mergetool.p4merge.path=C:/Program Files/Perforce/p4merge.exe
diff.tool=p4merge
difftool.p4merge.path=C:/Program Files/Perforce/p4merge.exe
mergetool.keeptemporaries=false
mergetool.prompt=false
Run Code Online (Sandbox Code Playgroud)

现在git mergetool命令工作正常.但是当我使用git difftool命令时git bash,我希望p4merge但是我看到了diff的内部实现git bash.

我试过Smooth Git + P4merge,但它对我不起作用,我也尝试按照外部合并和差异工具中的描述进行操作,但我不明白.

注意:

当冲突类型为removed file conflict,git difftool命令打开p4merge …

git bash version-control p4merge windows-7

7
推荐指数
1
解决办法
7186
查看次数

当我使用git difftool时,p4merge显示错误'nul是(或指向无效文件')--cached

我刚决定并安装了p4merge作为git的可视化合并工具.为了做到这一点,我使用此命令配置了我的git

git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd 'p4merge $BASE $LOCAL $REMOTE $MERGED'
Run Code Online (Sandbox Code Playgroud)

然后我测试了它们并运行git difftool命令,它运行得很好.但是当我跑步时git difftool --cached,p4merge显示错误信息:

nul is (or points to) an invalid file
Run Code Online (Sandbox Code Playgroud)

我也尝试按照此博客中的说明操作,但我无法解决问题.

顺便说一句,我在Windows 7上使用git和p4merge.有谁知道这个问题的解决方案?

git p4merge

6
推荐指数
1
解决办法
1093
查看次数