如何向perforce请求包含描述和文件的更改列表

时间:2017-03-31 20:32:22

标签: perforce

我想获得perforce分支的更改列表,如:

  

p4 -t -L //mydepot/library1/v1.0 /...@ 2017/03 / 27,@ now

即本周所有更改的列表以及说明。但我也想要一个文件列表,如 files in one changelist:

  

p4 files @ = 123456

这似乎需要脚本,但是有人知道perforce方法吗? 如果返回的变更集集很大,那么之后查询每个变更集会对服务器产生负面影响吗?

2 个答案:

答案 0 :(得分:1)

p4 -Ztag -F "describe -s %change%" changes //mydepot/library1/v1.0/...@2017/03/27,@now | p4 -x - run

性能问题的答案取决于有多少是“大”(我们谈论了多少更改/文件)和您的服务器硬件。

我的猜测是,使用“正常”服务器和“正常”使用情况你会没问题,但如果我们谈论几十亿次更改,每次都有几十亿个文件,是的,这些命令需要一段时间。如果我们在数百或数千范围内更多,嗯。

答案 1 :(得分:0)

你在一个问题中提出了一堆问题,所以在一个答案中有一堆答案。

  1. 使用p4 changes命令获取感兴趣的更改列表。
  2. 使用p4 describe -sp4 files @=获取每次更改中的文件列表。
  3. 是的,要组合这两组数据,您需要一个脚本,但它可以是一个非常短的脚本。您可以使用p4命令行别名功能编写此类脚本,也可以使用您喜欢的脚本语言。网上有很多此类脚本的例子。
  4. 服务器最终必须执行多个命令,但这些特定命令是服务器非常有效的命令。我怀疑它不会太多,以至于服务器在计算输出时会出现问题,但是读取所有输出时会遇到问题。换句话说,不要运行一个产生比你想要的更多输出的脚本。