Go Wiki: Gerrit 访问

此处描述了两种不同权限和职责的 Gerrit 访问类型。只有当您是社区的活跃成员时,才应申请访问权限。新贡献者应在申请访问权限之前,先参与 Gerrit 代码审查流程一段时间。

(如需 GitHub 访问权限,请参阅 GitHubAccess

运行 TryBots(“may-start-trybots”)

TryBot 访问权限允许您在提交(预提交测试)之前,在 Gerrit 中启动对 CL(更改列表)的测试运行。TryBots 在一个相对安全且相对隔离的环境中运行,但并非完全安全加固。在启动 TryBots 之前,您必须快速浏览 CL,以查找任何恶意内容。

有关触发 TryBots 的详细信息,请参阅 LUCI

所有审批者(请参阅下一节)都自动拥有 TryBot 访问权限。其他人可以申请 TryBot 访问权限。请参阅下面的 申请访问权限

审批 CL(“approvers”)

审批者可以根据下面描述的审查规则,审查和提交代码更改(CL)。成为审批者意味着您有责任心:审批者是关心 Go 并希望其成功的人。审批者不仅是能够进行更改的人,更是那些能够与团队协作、让最有知识的人审查代码、贡献高质量代码并跟进修复问题(代码或测试中的问题)的人。

代码审查要求

每个 CL 都需要同时来自审批者的代码审查(Code-Review+2)以及两名使用 Google 安全计算机的 Google 员工的参与,他们可以是代码上传者,也可以是投票至少 Code-Review+1 的审查者。要求多人参与可以确保代码不会被单个被攻破的账户单方面提交。Google 员工和硬件要求进一步提高了门槛:由于许多仓库的 CL 在提交时本质上是由 Google 发布供用户下载的,因此 Google 的参与是为了批准此发布。一旦审查获得了 Code-Review+2 和必要的 Google 参与,任何审批者都可以提交。所有这些规则都由 Gerrit 服务器强制执行。

Code-Review+2 投票表示您已阅读更改,并确信它是正确的,适合提交。通常,您只应在您“拥有”的目录或包中对代码进行 Code-Review+2 投票;例外情况是微小且明显正确的更改。请注意,所有用户可见的新功能或更改(新 API、新命令行标志等)都需要通过 提案流程。CL 应在提交消息中引用特定的已接受提案(“For #NNN.”)。

在添加 Code-Review+2 投票时,鼓励也添加 Commit-Queue+1 和 Auto-Submit+1:有关详细信息,请参阅下面的 auto-submit 部分。

Code-Review+1 投票表示您已阅读更改,并认为它看起来合理,但您没有像 Code-Review+2 那样做出最终判断。这也意味着您确信该更改不会引入任何安全漏洞或其他明显不当的代码更改。

当更改获得适当的审查以供提交时,Gerrit 中会出现一个“提交”按钮(供审批者使用)。您只能提交来自该区域所有者的 Code-Review+2 投票的更改(可能就是您自己!)。

审批者还可以对 CL 投票 Hold+1,将其标记为不可提交(直到该投票被移除)。典型的原因可能是我们需要等待提案审查才能处理此 CL,或者因为 CL 需要在特定时间提交:投票 Hold+1 确保它仍然可以被审查,但不会意外地提前提交。

要申请审批者访问权限,请参阅下面的 申请访问权限

自动提交

如果您正在审查 CL,并认为它可以按原样批准和提交,无需进一步更改,您可以使用自动提交功能来运行测试并在测试通过后提交 CL。为此,请投票 Code-Review+2 以及 Auto-Submit+1 和 Commit-Queue+1。当测试通过时,Gopherbot 将会提交它。

更准确地说,Gopherbot 会监视并自动提交满足以下条件的 CL:

  • 具有 Auto-Submit+1 投票,
  • 满足 TryBots-Pass 提交要求,
  • 具有必要的代码审查,
  • 没有未解决的评论,
  • 没有被标记为 #wait-release,
  • 并且可以与当前分支头干净地合并。

所有审批者都可以添加 Auto-Submit+1 投票。当补丁重新上传时,Auto-Submit+1 投票不会被保留。

审批 Wiki CL(“wiki-approvers”)

主要在 wiki(https://go.googlesource.com/wiki)工作的用户可以申请 wiki-approvers 权限。这允许他们对 wiki CL 进行 +2 投票并提交,包括他们自己的 CL。Wiki CL 不需要两名(或任何)Google 员工的参与,它们没有 TryBots,并且可以自我审查。

申请访问权限

要申请上述任何一种访问类型,请提交一个新的 issue(https://golang.ac.cn/issue/new?title=access:+&body=See+https://golang.ac.cn/wiki/GerritAccess),说明您想要的访问权限,以及您用于登录 Gerrit 的 Google 账户。

授予访问权限的决定由 Google 的 Go 发布团队做出。如果您的请求被拒绝,几乎总是因为您不够活跃,不足以让他们清晰地了解您的工作、对项目惯例的理解等。不要气馁:达到这种熟悉程度需要时间。

获得访问权限后

请帮助园艺!请参阅 Gardening


此内容是 Go Wiki 的一部分。