如何使用 Gerrit
什么是 Gerrit?
Gerrit 是由 Google 开发的源代码审查系统,用于 Android(尽管它可以应用于任何类型的项目)。如果您在源代码中发现错误,或者想贡献优秀的新功能,甚至如果您认为自己有更好的方式来实现某个功能,则必须使用 Gerrit 提交代码更改。
查看 LineageOS 的审查系统 - Gerrit。
在那里您可以查看最近已合并到代码库中的内容。更有趣的是,您可以查看人们已提交以供审查的内容。如果有些东西您想尝试,您实际上可以通过将其合并到您的代码中并进行构建来测试它。这很简单。
审查补丁
审查系统由批准或不批准更改以及在更改成为代码库一部分之前对其进行验证的能力定义。与系统交互有几种可能的方式,有些方式仅限于特定用户。任何拥有帐户的人都可以回复补丁并添加标签
标签 | 定义 | 含义 |
---|---|---|
-2 | 不要提交 | 在移除投票之前,此补丁无法提交 |
-1 | 我不建议您提交此内容 | 代码或想法不符合项目标准 |
0 | 无评分 | 我只想通过回复消息分享一些通用信息 |
+1 | 我觉得不错,但需要其他人批准 | 代码和想法符合项目标准 |
+2 | 我觉得不错,已批准 | 在验证内容后,此补丁可以提交 |
+2 和 -2 标签仅限于项目或补丁所针对设备的维护者。
补丁在经过验证(“它能编译通过吗?还能启动吗?不会破坏任何功能吗?”)后可以提交,验证有其自己的标签(-1 / 0 / +1),然后成为用于构建的代码的一部分。
添加评论的可能性并不意味着您应该随机对补丁添加您的意见。
测试补丁
准备构建环境
转到源代码的根目录
cd ~/android/lineage
设置您的构建环境
source build/envsetup.sh
本指南的后续步骤将以此为基础。您可以通过输入以下内容来检查命令的正确执行
croot
您的终端将导航到源代码根目录 ~/android/lineage
或报错。
检索现有提交
假设您想尝试 catch’em all (只是一个未合并的提议提交的示例)。
要将此补丁添加到您的本地构建源代码,您可以使用 repopick
命令
如果您输入 repopick -h
,您将获得支持的命令列表,例如在单个命令中选择多个补丁或补丁范围的能力。
首先记下提议提交的 URL。在上面的示例中,它是 https://review.lineageos.org/#/c/65062/。数字 65062
稍后会派上用场。
补丁应在输入后自动应用
repopick 65062
继续构建。完成后,您应该就能获得所需的功能。如果它运行良好,请注册 Gerrit 并为提议的贡献投 +1 票。
提交补丁
您当然也可以通过 Gerrit 提交您自己的补丁来贡献。请点击此链接了解操作方法!
常用命令
有关更多信息,请参阅 Git 入门。
repo
-
repo abandon <branch name>
放弃任何尚未上传的更改(提交)。 -
repo start <branch> <project>
启动 repo 监听 git 的更改。 -
repo upload <project name>
将已提交的更改上传到远程审查服务器。
git
-
git add <file name>
暂存已更改或添加的文件。 -
git commit -m "comment"
提交更改。 -
git reset HEAD <file name>
取消暂存文件。 -
git revert HEAD
撤销上次提交。 -
git status
查看项目状态。