在 Perforce 中,如何在修订图中按文件内容进行搜索

In Perforce, how to search by content of a file in its revision graph

在 perforce 中,是否可以在其所有修订版和来源中搜索字符串。它应该能够在整个 "Revision graph" 中搜索文件的来源。我能够找到 "p4 grep -a",它可以在分支中搜索特定文件的修订版。但我也想搜索它的来源。

您是否只关心文件当前主要版本中的字符串?如果这是一个可以接受的限制,annotate -I 是一个非常简单的选择:

p4 annotate -I file | grep STRING

更多关于 p4 annotate -I 的信息:https://www.perforce.com/blog/p4-annotate-i-going-deeper

如果这不适合您,那么您前面还有很多脚本编写 - 该博客 post 可能会帮助您开始使用一般方法(您将使用 p4 filelog 生成 "graph" 和 p4 print 获取内容)。

您也可以尝试破解我在 annotate -I 之前编写的 DeepAnnotate 工具,因为它是开源的(虽然它比 annotate -I 更破解,所以我仍然建议使用内置版本,如果你可以):https://swarm.workshop.perforce.com/files/guest/sam_stafford/deepannotate