admin管理员组

文章数量:1540709

2024年6月13日发(作者:)

第32章 Gerrit代码审核服务器

第32章 Gerrit 代码审核服务器

谷歌 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的

repo,这在前面第25章已经详细讨论过。另外一个重要的创新就是 Gerrit —— 代码审核服务器。

Gerrit 为 Git 引入的代码审核是强制性的,也就是说除非特别的授权设置,向 Git 版本库的推送

必须要经过 Gerrit 服务器,修订必须经过代码审核的一套工作流之后,才可能经批准并纳入正式

代码库中。

首先贡献者的代码通过 git 命令(或 repo 封装)推送到 Gerrit 管理下的 Git 版本库,推送

的提交转化为一个一个的代码审核任务,审核任务可以通过 refs/changes/ 下的引用访问到。

代码审核者可以通过 Web 界面查看审核任务、代码变更,通过 Web 界面做出通过代码审核或打

回等决定。测试者也可以通过 refs/changes/ 之下的引用获取修订然后对其进行测试,如果测

试通过就可以将该评审任务设置为校验通过(verified)。最后经过了审核和校验的修订可以通过

Gerrit 界面中的提交动作合并到版本库对应的分支中。

Android 项目网站上有一个代码贡献流程图

1

,详细地介绍了 Gerrit 代码审核服务器的工作流

程。翻译后的工作流程图见图32-1。

1

/source/

1

Git权威指南——自排稿

第32章 Gerrit代码审核服务器

图32-1:Gerrit 代码审核工作流

32.1 Gerrit 的实现原理

Gerrit 更准确地说应该称为 Gerrit2。因为 Android 项目最早使用的评审服务器 Gerrit 不是今

Git权威指南——自排稿

2

本文标签: 审核代码版本任务服务器