我尝试过搜索,但找不到从命令行运行p4v差异对话框所需的参数。
以下是工作原理:
% p4v.exe -cmd "diffdialog //depot/filepath/file#13"
但我希望能够区分该文件的两个版本。
例如,我希望能够区分同一文件的版本10和版本13。
我尝试过不同的组合,比如:
% p4v.exe -cmd "diffdialog //depot/filepath/file#10 //depot/filepath/file#13"
和其他变体,但看起来它试图将整行内容解析为要打开的文件的参数。
所以我在想,也许我必须使用标志或其他东西来指定源/目标文件和版本,但我找不到有关这方面的文档。
发布于 2013-05-01 22:07:08
该命令不允许您指定两个文件:
http://answers.perforce.com/articles/KB_Article/Invoking-P4V-from-the-command-line
但是,您可以编写此操作的脚本。您可以调用p4 print
来获取要比较的两个文件,然后使用p4merge对它们进行比较。
发布于 2013-09-25 23:28:51
我最近遇到了同样的问题(我想比较两个文件,但我总是想将我的工作区版本与过去的一些版本进行比较)。
最大的挑战是,能够指定我想要的文件的唯一方法是使用p4或p4v命令。p4v命令不接受diff操作的2个参数,即使您指定了修订版,它也只会将该修订版与下一个修订版进行比较,而不是与当前的修订版进行比较。
p4 diff会将指定的修订版与我的工作区版本进行比较,但问题是输出仅基于文本。
在阅读文档(http://www.perforce.com/perforce/doc.current/manuals/cmdref/diff.html#1040665)时,我遇到了这一行:
默认情况下,使用的比较例程是内置于p4命令行应用程序中的例程。要将此diff例程更改为外部diff程序,请将P4DIFF环境变量设置为指向新程序。
(有关详细信息,请参阅http://www.perforce.com/perforce/doc.current/manuals/cmdref/env.P4DIFF.html#1040647)
因此,凭直觉,我决定将该环境变量指向我的WinMerge目录。令人惊讶的是,它起作用了!然后我想,我能不能把它指向p4merge客户端,这样也可以。唯一(非常适合居住的)限制是,以前的版本显示为临时文件,而不是。
发布于 2013-08-15 08:13:37
我刚刚在我签出的一个文件上运行了这个,它弹出了diff gui窗口:
p4v -cmd 'diff //main/dev/myfile.py'
几个鱼子酱:
https://stackoverflow.com/questions/16309379
复制相似问题