如果gerrit提交patchset过大,比如第一次初始化库,会导致网页加载失败。
一般来说这么超大的提交,只可能是验证过的代码。
解决方法有2个
1.绕开gerrit审核,直接提交到代码库,登录到gerrit服务器上,clone一个当前项目,添加代码后然后直接推送,然后gerrit更新后就可以在网页上看见所有的代码了
2.用命令行提交和审核
我更倾向于方法1,方法2虽然让你的提交符合了流程,但是如果有人日后不小心打开了这个patch还是会导致gerrrit服务器巨慢,浏览器挂起. 不凑巧的是,我第一次提交的时候,没有想到浏览器会内存不足,死机的事情,足足7G的patch,导致提交后项目上一直有个Open而无法合并的patch,而且这个patch只显示ChangeID,看不到patchID,无法删除,经过一番研究,先可以根据ChangeID,找到patchID,然后删除。
ssh -p 29418 192.168.1.127 gerrit query status:open --current-patch-set
输出如下
change I210b9ec7e49ed04a162f1d058fb780ce92aa8e1c
project: MTK6577
branch: master
id: I210b9ec7e49ed04a162f1d058fb780ce92aa8e1c
number: 20
subject: origin code from mtk
owner:
name: perise
email: perise@126.com
username: perise
url: http://192.168.1.127:8080/20
createdOn: 2013-01-25 13:09:45 CST
lastUpdated: 2013-01-25 13:09:45 CST
sortKey: 0022a7d500000014
open: true
status: NEW
currentPatchSet:
number: 1
revision: a6b548272aa754857b4e2a31ff3c1647ac33bf13
parents:
[3765ba5124503bf2d6456667a559381f2965db0f]
ref: refs/changes/20/20/1
uploader:
name: perise
email: perise@126.com
username: perise
createdOn: 2013-01-25 13:09:45 CST
type: stats
rowCount: 1
runTimeMilliseconds: 7
这个时候,我们可以看见这ID是 a6b548272aa754857b4e2a31ff3c1647ac33bf13
执行
ssh -p 29418 192.168.1.127 gerrit review --abandon a6b548272aa754857b4
再次登录Gerrit,超大的提交已经消失.
当然,你也可以执行
ssh -p 29418 192.168.1.127 gerrit review --submit a6b548272aa754857b4
通过提交.
Notes:git的ID不一定要写全,超过7位即可,比如a6b548272aa754857b4e2a31ff3c1647ac33bf13可以写作a6b5482