我尝试过搜索,但找不到从命令行运行 p4v diffdialog 的参数。
以下作品:
% p4v.exe -cmd "diffdialog //depot/filepath/file#13"
但我希望能够区分文件的两个版本。
例如,我希望能够比较同一文件的版本 10 和版本 13。
我尝试过不同的组合,例如:
% p4v.exe -cmd "diffdialog //depot/filepath/file#10 //depot/filepath/file#13"
和其他变体,但看起来它正在尝试将整行解析为要打开的文件的参数。
所以我想也许我必须使用标志或其他东西来指定源/目标文件和版本,但我找不到这方面的文档。
最佳答案
我最近遇到了同样的问题(想要比较 2 个文件,但我总是想将我的工作区修订版与过去的某些修订版进行比较)。
最大的挑战是能够指定我想要的文件的唯一方法是使用 p4 或 p4v 命令。 p4v 命令不接受 diff 操作的 2 个参数,即使您确实指定了修订版,它也只会将该修订版与下一个修订版进行比较,而不是当前修订版。
p4 diff 会将指定的修订版本与我的工作区版本进行比较,但问题是输出仅基于文本。
在阅读文档(http://www.perforce.com/perforce/doc.current/manuals/cmdref/diff.html#1040665)时,我遇到了这一行:
默认情况下,使用的 diff 例程是 p4 命令行应用程序中内置的例程。要将此 diff 例程更改为外部 diff 程序,请将 P4DIFF 环境变量设置为指向新程序。
(有关详细信息,请参阅 http://www.perforce.com/perforce/doc.current/manuals/cmdref/env.P4DIFF.html#1040647 )
因此,我凭直觉决定将该环境变量指向我的 WinMerge 目录。令人惊讶的是,它成功了! 然后我想,我可以将其指向 p4merge 客户端吗,这也有效。唯一(非常宜居)的限制是以前的版本显示为临时文件而不是 。
关于perforce - 从命令行使用 p4v diffdialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16309379/