有时,我发现自己想要搜索的文本的修改列表说明,在必然.那似乎不是一种方法来做到这一P4V.我可以做的,它通过将输出的更改命令的文件...

p4 changes -l > p4changes.txt

...(-l的开关,告诉它要转储的全文修改列表说明),然后搜索文件,但这是相当麻烦。有人发现了一个更好的办法?

有帮助吗?

解决方案

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

唯一的限制是它只搜索从服务器获取的更改列表,因此您可能需要更新检索到的数量。这是通过“一次获取的变更列表,作业,分支映射或标签的数量”来完成的。设置可以通过导航到Edit-> Preferences-> Server Data。

找到

其他提示

p4更改-L | grep -B 3 searchstring

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

我使用 p4sql 并运行查询“改变”数据库。这是 perforce数据库架构

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

select change from changes where description like '%text%' and p4options = 'longdesc'

编辑:添加了p4options以在说明中返回超过31个字符。

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

p4 changes -L | select-string "search string" -Context (3,0)

为什么在通过 less 管道输出并使用 less 的搜索时重定向到文件?

p4 changes -l | less

然后按 / 以提示搜索字符串。之后, n 将跳转到下一个匹配, Shift + n 将跳转到上一个匹配。

UnxUtils 的一部分提供了Windows的 less 的实现。

使用p4sql实际上是有效做你想要的唯一方法。我不知道有任何其他方式。当然,您可以使用select语句来限制更改列表值的范围(通过日期,用户等)。您的方法将起作用,但是当您生成更多更改列表时,将很快变得麻烦。您可以限制更改命令的范围,但不会获得p4sql的灵活性。

Eddie on Games在 http://www.eddiescholtz.com上发布了他的Perforce Changelist Search 0.1 /博客/存档/ 130

但是,我喜欢使用我最喜欢的文本编辑器: p4更改-s已提交// prog / stuff / main / ...> temp.txt

如果你仍然爱你的命令行,你可以写一个小perl脚本是:

  • 改变的记录分隔$/来 双newline" "所以它的过滤器 输入到充分记录的 ztagged p4输出。
  • 扫描 该'/^...desc/..//'部分 经常表达的args.

使用会喜欢的东西'p4-ztag变化-l|yourperlfilter.pl searchterm1searchterm2'

如果这工作好吧,你可以 它融入p4win工具菜单.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top