首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >perforce -从命令行使用p4v差异对话框

perforce -从命令行使用p4v差异对话框
EN

Stack Overflow用户
提问于 2013-05-01 05:37:37
回答 3查看 3.1K关注 0票数 2

我尝试过搜索,但找不到从命令行运行p4v差异对话框所需的参数。

以下是工作原理:

代码语言:javascript
运行
复制
% p4v.exe -cmd "diffdialog //depot/filepath/file#13"

但我希望能够区分该文件的两个版本。

例如,我希望能够区分同一文件的版本10和版本13。

我尝试过不同的组合,比如:

代码语言:javascript
运行
复制
% p4v.exe -cmd "diffdialog //depot/filepath/file#10 //depot/filepath/file#13"

和其他变体,但看起来它试图将整行内容解析为要打开的文件的参数。

所以我在想,也许我必须使用标志或其他东西来指定源/目标文件和版本,但我找不到有关这方面的文档。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-01 22:07:08

该命令不允许您指定两个文件:

http://answers.perforce.com/articles/KB_Article/Invoking-P4V-from-the-command-line

但是,您可以编写此操作的脚本。您可以调用p4 print来获取要比较的两个文件,然后使用p4merge对它们进行比较。

票数 0
EN

Stack Overflow用户

发布于 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客户端,这样也可以。唯一(非常适合居住的)限制是,以前的版本显示为临时文件,而不是。

票数 2
EN

Stack Overflow用户

发布于 2013-08-15 08:13:37

我刚刚在我签出的一个文件上运行了这个,它弹出了diff gui窗口:

代码语言:javascript
运行
复制
p4v -cmd 'diff //main/dev/myfile.py'

几个鱼子酱:

  1. 您必须已经登录到P4 (p4 login命令就可以了)
  2. 您应该禁止在启动时显示“打开连接”对话框,否则它会首先弹出。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16309379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档