如何向 perforce 询问包含描述和文件的更改列表
How to ask perforce for a list of changes with both description and files
我想获取 perforce 分支的更改列表,例如:
p4 -t -L //mydepot/library1/v1.0/...@2017/03/27,@now
即本周所有更改的列表及其说明。但我还想要一个文件列表,如
files in one changelist:
p4 files @=123456
这似乎需要脚本,但有人知道 perforce 方法吗?
如果返回的变更集集合很大,之后查询每个变更集是否会对服务器产生不利影响?
p4 -Ztag -F "describe -s %change%" changes //mydepot/library1/v1.0/...@2017/03/27,@now | p4 -x - run
性能问题的答案取决于 "large" 的数量(我们说的是 changes/files 的数量)和您的服务器硬件。
我的猜测是,使用 "normal" 服务器和 "normal" 用法你会没事的,但如果我们谈论的是几十亿个更改,每个更改都有几十亿个文件,是的,那些命令需要一段时间。如果我们在数百或数千范围内,嗯。
您在一个问题中提出了一堆问题,所以这里是一个答案中的一堆答案。
- 使用
p4 changes
命令获取感兴趣的更改列表。
- 使用
p4 describe -s
或 p4 files @=
获取每个更改中的文件列表。
- 是的,要合并这两组数据,您需要一个脚本,但它可以是一个非常短的脚本。您可以使用 p4 命令行别名功能来编写这样的脚本,也可以使用您喜欢的脚本语言。网上有很多此类脚本的示例。
- 服务器最终将不得不执行多个命令,但这些特定命令是服务器非常有效地执行的命令。我怀疑服务器在计算输出时不会有问题,但您在读取所有输出时会遇到问题。换句话说,不要 运行 一个产生比你想读的更多输出的脚本。
我想获取 perforce 分支的更改列表,例如:
p4 -t -L //mydepot/library1/v1.0/...@2017/03/27,@now
即本周所有更改的列表及其说明。但我还想要一个文件列表,如 files in one changelist:
p4 files @=123456
这似乎需要脚本,但有人知道 perforce 方法吗? 如果返回的变更集集合很大,之后查询每个变更集是否会对服务器产生不利影响?
p4 -Ztag -F "describe -s %change%" changes //mydepot/library1/v1.0/...@2017/03/27,@now | p4 -x - run
性能问题的答案取决于 "large" 的数量(我们说的是 changes/files 的数量)和您的服务器硬件。
我的猜测是,使用 "normal" 服务器和 "normal" 用法你会没事的,但如果我们谈论的是几十亿个更改,每个更改都有几十亿个文件,是的,那些命令需要一段时间。如果我们在数百或数千范围内,嗯。
您在一个问题中提出了一堆问题,所以这里是一个答案中的一堆答案。
- 使用
p4 changes
命令获取感兴趣的更改列表。 - 使用
p4 describe -s
或p4 files @=
获取每个更改中的文件列表。 - 是的,要合并这两组数据,您需要一个脚本,但它可以是一个非常短的脚本。您可以使用 p4 命令行别名功能来编写这样的脚本,也可以使用您喜欢的脚本语言。网上有很多此类脚本的示例。
- 服务器最终将不得不执行多个命令,但这些特定命令是服务器非常有效地执行的命令。我怀疑服务器在计算输出时不会有问题,但您在读取所有输出时会遇到问题。换句话说,不要 运行 一个产生比你想读的更多输出的脚本。