您如何在Perforce中搜索更改列表描述的文本?

rav*_*ven 67 perforce

有时,我发现自己想要在Perforce中搜索更改列表描述的文本.在P4V中似乎没有办法做到这一点.我可以通过将更改命令的输出重定向到文件来实现...

p4 changes -l > p4changes.txt
Run Code Online (Sandbox Code Playgroud)

...(-l开关告诉它转储更改列表描述的全文)然后搜索文件,但这相当麻烦.有没有人找到更好的方法?

Gre*_*eld 63

当提交的更改列表窗格具有焦点时,CTRL + F允许您执行任意文本搜索,其中包括更改列表描述.

唯一的限制是它只搜索从服务器获取的更改列表,因此您可能需要更新检索到的数量.这是通过"一次更改的更改列表,作业,分支映射或标签"设置来完成的,可以通过导航到编辑 - >首选项 - >服务器数据找到该设置.

  • 对我来说,当 p4v 不包含如此有用的搜索时,情况很糟糕。让我们想象一下当您的 CL 非常旧时的情况(在高度开发的应用程序中大约两年多)。通过这种方式你不会找到它。 (3认同)

Pau*_*aft 19

p4 changes -L | grep -B 3 searchstring

-B 3 表示在匹配的字符串之前显示3行,应足以显示带有2行注释的更改ID,但您可以根据需要进行更改.


jop*_*jop 17

我使用p4sql并在"更改"数据库上运行查询.这是perforce数据库架构

查询看起来像这样(未经测试)

select change from changes where description like '%text%' and p4options = 'longdesc'
Run Code Online (Sandbox Code Playgroud)

编辑:添加了p4options以在描述中返回超过31个字符.


小智 7

这是Paul的"grep"答案的Powershell版本.同样,它在更改描述中搜索指定的字符串并返回其前面的3行,以包含更改ID:

p4 changes -L | select-string "search string" -Context (3,0)
Run Code Online (Sandbox Code Playgroud)