Perforce p4针对具有多个响应条目的查询的Ztags格式

Perforce p4针对具有多个响应条目的查询的Ztags格式,perforce,Perforce,Ztags过滤器工作得很好,但我不知道如何将它们与ie.p4 filelog一起使用,在ie.p4 filelog中我得到了许多结果,每个条目都列举了如下字段: ... rev0 ... change0 ... action0 ... type0 ... time0 ... user0 ... client0 ... desc0 然后字段名会递增,所以当我只想看到更改和描述时,我的格式设置没有一致的字段名 是否可以在所有计数中以这样的字段为目标?如果您只想更改编号和说明,请尝试使用p4 c

Ztags过滤器工作得很好,但我不知道如何将它们与ie.p4 filelog一起使用,在ie.p4 filelog中我得到了许多结果,每个条目都列举了如下字段:

... rev0
... change0
... action0 
... type0
... time0
... user0 
... client0
... desc0
然后字段名会递增,所以当我只想看到更改和描述时,我的格式设置没有一致的字段名


是否可以在所有计数中以这样的字段为目标?

如果您只想更改编号和说明,请尝试使用p4 changes-L文件作为p4 filelog文件的替代文件。这会为每个更改提供一条消息/dict,这更适合于使用-F格式选项的简单无状态脚本


filelog输出非常复杂,它包含单个版本的嵌套数组以及每个版本的集成历史记录,它遵循重命名等操作,因此您需要编写一些实际代码来使用它执行任何非常有用的操作。

我最近开始使用Nim语言为p4编写自己的CLI包装程序

在这个过程中,我需要摸索p4提供的奇怪的ztag输出。我想知道为什么它没有提供输出JSON的选项。因此,我开始开发一个ztag到JSON的转换器,用于我的p4 CLI包装器

ztag到JSON转换器是开源的,位于:

我在这里发布其64位Linux静态二进制版本:


ztag格式糟糕且不一致。请看我的ztag测试套件,了解我为什么这么说,我希望Perforce使用更合理的序列化格式(如JSON)来取代它。

将数字视为数组中的索引位置,因此当filelog概念上返回数据数组时,索引编号允许您在阵列中移动。请注意,复杂的p4命令甚至可以返回多维数组,因此学习理解这种数据格式很有价值。当然,这样的数据处理最好用成熟的编程语言来完成,比如当您使用p4python或p4perl时。