所以我需要解决的问题是:
假设我有大约100个可以集成CL的分支,但我的任务是找到初始CL100集成的所有分支。
怎么做?我的团队成员一直在手动执行此操作(需要数小时,有时需要几天才能找到所有分支)。
我只是想知道是否有一些工具可以列出初始CL集成的所有分支?如果没有,那么编写脚本的初始起点是什么?
我试过用
p4 -ztag changes -i //depot/...@123,@123
但它只显示CL集成历史并不完全是我正在寻找的。
图形选项是使用Revision Graph工具。在Revision Graph中打开文件,选择修订版,使用“Highlight Descendants”选项,然后过滤到“仅显示突出显示的文件”。
如果你想在代码中自己实现它,它基本上只是递归地运行p4 filelog
,然后对结果结构进行简单的图搜索。不幸的是,P4V不是开源的,但是IIRC Revision Graph的基础数据结构仍然与旧的半条命模式相同,后者以类似的方式显示了分支历史;这将是起点(我提前向任何阅读此代码的人道歉 - 它实际上是我的第一个C ++编码项目,所以它有点粗糙):https://swarm.workshop.perforce.com/files/guest/sam_stafford/p4hl/src/dlls/FileLogCache.h