固件版本是否包含提交代码的实现思路

1.使用gerrit query

问题:

a.查询分支是以提交时间(创作)时间排序,非合入时间

b.查询一笔提交,并获取父节点,递归向上查询。强merge节点(code base升级等),没有在gerrit形成记录,当查询merge节点时获取不到信息,递归断

2.gerrit rest API

查询功能类似gerrit query

3.gitweb网页(最终)

p=project.git

a.查询提交链接

http://gerrit.xxx/gitweb?p=xxx.git;a=commit;h=xxx(hash)

b.查询单链h=版本里hash

 http://gerrit.xxx/gitweb?p=xxx.git;a=shortlog;h=xxx(hash)

实现:

a)在jenkins部署一个服务,输入固件版本地址,和需要核查的一系列提交链接

b)轮询每个提交链接,获取changeid、gerrit服务器地址,通过ssh -x gerrit.xx.xx query --format TEXT --current-patch-set changeid 获取该笔提交hash、project git、merge datetime

注:目前只发现这种方式,如果使用curl/python requests请求链接,会进行跳转;使用reset API也没找到好的方式

c)获取project git后,去版本固件里查询固定的hash

d)使用python requests先登录gerrit服务器(传递data数据,chrome F12查看过程),获取session,使用同一session去查询固定hash的gitweb shortlog,使用bs4解析界面后获取是否包含提交链接的hash,没有可以在gitweb加pg=x,进行翻页,需定义最大翻页。

注:为加快核查,每个gitweb shortlog最后一项,通过gitweb commit查询合入时间,跟b中获取的提交链接时间比对

e)通过上可核查是否包含




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值