擁有者

Fuchsia 中的每個檔案都有一組擁有者。這些項目會記錄在名為 OWNERS 的檔案中。其中一個檔案位於存放區的根目錄中,許多目錄也有自己的 OWNERS 檔案。

目錄

每個 OWNERS 檔案都會列出多位人員 (依電子郵件地址),他們熟悉該目錄的內容,並可提供程式碼審查。

職責

Fuchsia 規定變更必須經過 Code-Review +2 審查,而「OWNERS」檔案中的任何人都可以提供審查。此外,許多 OWNERS 檔案都包含 *,因此任何人都能提供這類 +2

工具

Gerrit 有「建議擁有者」按鈕,會列出特定變更中所有已修改檔案的擁有者。如要瞭解詳情,請參閱 Gerrit code-owners 外掛程式頁面。

格式

Fuchsia 會對 OWNERS 檔案使用 Gerrit 檔案語法

以下是 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. 新增覆寫審查者:在 Gerrit 變更的審查者清單中新增 owners-override@fuchsia.dev

不過,如要新增或更新 OWNERS 檔案,建議在專屬的 Gerrit 變更中管理這些變更。建議採用這種做法,因為這樣就能覆寫擁有者,並允許單獨提交檔案。如果 Gerrit 變更的其他部分需要額外變更,將這項資訊分開處理也能避免重新蓋章 OWNERS 修改內容。導入新目錄時,通常會使用這個程序,例如 //src//src/lib