在 Perforce Visual Client 的所有架子中搜索文件

Search file in all shelves in Perforce Visual Client

我有很多带有自定义代码的货架变更列表。我想使用以下标准搜索当前工作区中的所有货架更改列表

  1. 按文件名过滤
  2. 在文件内容中搜索字符串

有人知道如何通过 Perforce 可视化客户端或命令行实现这一目标吗?

查找具有特定文件的搁置更改列表非常简单:

p4 changes -s shelved -c CLIENTNAME FILE

https://www.perforce.com/perforce/doc.current/manuals/cmdref/Content/CmdRef/p4_changes.html

在 shelf 中查找字符串稍微复杂一些,因为 p4 grep 不接受 -s shelved 参数,但您可以从更改列表中找到:

p4 -Ztag -F @=%change% changes -s shelved -c CLIENTNAME | p4 -x - grep -e EXPR

https://www.perforce.com/perforce/doc.current/manuals/cmdref/Content/CmdRef/p4_grep.html

不幸的是,p4 grep 输出不包括搁置的更改列表(这似乎是 IMO 的错误;它给出了搁置所基于的修订)所以如果将它缩小到一组文件(您可以将其输入到第一个查询中)不够具体,您可能需要编写更多脚本,但这些是基本构建块。