所有者

Fuchsia 中的每个文件都有一组所有者。这些所有者会在名为 OWNERS 的文件中进行跟踪。其中一个文件位于代码库的根目录中,许多目录也有自己的 OWNERS 文件。

目录

每个 OWNERS 文件都会列出一些个人(按其电子邮件地址),这些人熟悉相应目录的内容,并且可以提供代码审核。

职责

Fuchsia 要求更改具有 Code-Review +2 审核,OWNERS 文件中的任何人都可以提供此审核。此外,许多 OWNERS 文件都包含 *,允许任何人提供此类 +2

工具

Gerrit 有一个“建议所有者”按钮,该按钮会列出给定更改中所有已修改文件的所有所有者。如需了解详情,请参阅 Gerrit 代码所有者插件页面。

格式

Fuchsia 对 Gerrit 文件语法 用于 OWNERS 文件。

以下是一个示例 OWNERS 文件:

# These users are owners
validuser1@example.com
validuser2@example.com

# Users listed elsewhere are also owners
include /path/to/another/OWNERS

# This user is only an owner of the listed file
per-file main.c = validuser3@example.com

最佳做法

  • OWNERS 文件中至少有两个人非常重要。如果 Fuchsia 的某些区域只有一个所有者,则会导致单点故障。如果有多个所有者,则可确保 Fuchsia 各区域的知识和所有权得到共享。

  • 如果适用,请 include 其他文件中的所有者,而不是列出个人。这样可以减少“事实来源”,并使 OWNERS 维护更加轻松。

所有者替换

在某些情况下,更改的作者可能希望替换 OWNERS 审批。 这主要适用于以下情况:更改主要是机械性的,但涉及代码库的很大一部分(例如,对常用 API 的签名进行微不足道的更改)。

如需请求所有者替换,请按以下步骤操作:

  1. 验证资格:确保更改适合替换。 此过程应谨慎使用;如果本地所有者的审核不会给开发者带来不必要的负担,则最好使用本地所有者的审核。

  2. 添加替换审核者:将 owners-override@fuchsia.dev 添加到 Gerrit 更改中的审核者列表。

不过,当您需要添加或更新 OWNERS 文件时,最好在专用的 Gerrit 更改 中管理这些更改。这种方法是首选方法,因为它支持所有者替换,并允许单独提交文件。通过将其分开,您还可以避免在 Gerrit 更改的其他部分需要进行其他更改时重新标记 OWNERS 修改。此过程通常用于引入新目录时, 例如在 //src//src/lib 中。