在Perforce中,如何获取标签中的最高changlist编号?

在Perforce中,如何获取标签中的最高changlist编号?,perforce,Perforce,因此,我访问了Perforce的网站,它似乎建议使用p4更改-m1@label1作为命令。不幸的是,我遇到了一些标签的请求太大(超过100000)问题,这让我非常疯狂,因为我在运行命令时包含了-m1选项。是否有方法避免此错误,或者是否有其他命令可用于获得相同的结果。提前谢谢你的回答 听起来您正达到“MaxScanRows”限制 这将由管理员设置 有关更多信息,请访问: 希望这有帮助, Jen.由于标签可以包含任意一组修订,服务器在所有修订中找到最高变更列表的唯一方法是扫描每个修订,以找到与每个

因此,我访问了Perforce的网站,它似乎建议使用p4更改-m1@label1作为命令。不幸的是,我遇到了一些标签的请求太大(超过100000)问题,这让我非常疯狂,因为我在运行命令时包含了-m1选项。是否有方法避免此错误,或者是否有其他命令可用于获得相同的结果。提前谢谢你的回答

听起来您正达到“MaxScanRows”限制

这将由管理员设置

有关更多信息,请访问:

希望这有帮助,
Jen.

由于标签可以包含任意一组修订,服务器在所有修订中找到最高变更列表的唯一方法是扫描每个修订,以找到与每个修订相关联的变更列表,并返回它找到的最高变更列表,因此它是O(n),其中n是标签大小。如果您达到了100k的MaxScanRows限制,我假设这些标签包含超过100k的文件?您可以通过使用
-Zdbstat
标志运行任何给定命令来查看扫描了多少条记录,如下所示:

p4 -Zdbstat changes -m1 @label
正如P4Jen所说,增加MaxScanRows是一种解决方案,但它不会使命令扫描更少的行或消耗更少的时间。作为一个更全面的解决方案,我建议尽可能远离手动填充的标签,转而使用定义为简单变更列表别名的标签:

Label: label
Revision: @CHANGE
View:
请注意,要获得“别名”标签(即与更改完全相同的标签)的全部性能优势,修订字段必须设置为更改列表,视图字段必须为空(如果视图字段不为空,则会得到一个“自动”标签,该标签具有自己的性能特性)


使用别名标签,只需将标签视为O(1)操作,即可获得等效的变更列表。:)

谢谢你的回答。:)但我知道。我想知道是否有办法避免它,或者是否有替代命令来完成同样的任务。你好。你不能用路径来限制它吗
p4更改-m1//some/path/…@label1
?@sferencik我尝试了标签视图中的路径,但某些站点抛出了相同的错误。递归地进行更深入的操作会非常麻烦,因为我的脚本非常通用。