为便于开发人员对 Go 的开发做出贡献, Google 开始将 Go 的 GitHub PR(Pull Request)镜像到 Go 的上游 Git 服务器 Gerrit
Gerrit 是 Go 开发中主要使用的代码管理工具为便于开发人员获取 Go 代码, 现在所有归并到 Gerrit 的更改, 同时也镜像到 GitHub 上的 GoLang 代码仓储中据 Google 的 Go 工程师 Andrew Bonventre 介绍, Go 团队近期也开始对 GitHub PR 做镜像, 目前在于使 Go 开发贡献工作流更顺畅
该工作是通过 GerritBot 实现的 GerritBot 是一种机器人, 它可以将任一 GitHub PR 导入到 Gerrit, 并以评论 (comment) 形式将 Gerrit 的审查链接发布到 GitHub PR 所有在 Gerrit 中添加的评论都将同步到 PR 中, PR 原始贡献者可以对这些评论做处理, 并在不离开 GitHub 环境的情况下将更多的提交推送到同一 PR 分支
Gerrit 是一种基于 web 的代码审查工具, 构建在 Git 之上 Gerrit 通过提供一种轻量级框架, 简化了代码的审查在框架中可并排展示所有的更改, 并支持内联评论这在某种程度上类似于 GitHub PR 所提供的功能, 虽然两者在哲学上存在着根本差异事实上, Gerrit 在每次提交时都执行审查, 而 GitHub PR 则是基于两个分支间的差异执行审查这对于在 GitHub 或 Gerrit 中哪种工作流更自然具有重大影响具体来说, Gerrit 注重于单次提交审查, 应该将更改分解为一组较小的自包含提交, 而通常 GitHub PR 包含多次提交
此外, Gerrit 实际上提供了一种提交模型在模型中, 提交在实际归并到上游前, 会做连续的修订该模型的目标是通过修改先前的提交, 仔细修订变更的历史记录, 或将多次提交置于一次提交中 GitHub PR 一般不会这样使用, 尤其是在使用 GitHub Web UI 时在使用命令行处理 PR 时, 我们可以手动获得类似的结果
原 文: Go Accepts Patches from GitHub Pull Requests Now
译 文: infoQ
作 者: 盖磊 译
来源: https://sdk.cn/news/8095