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 的簽章進行微不足道的變更)。
如要要求擁有者覆寫,請按照下列步驟操作:
確認資格:確認變更適合覆寫。 請盡量避免使用這個程序;如果不會對開發人員造成過度負擔,建議優先由當地業主審查。
新增覆寫審查者:在 Gerrit 變更的審查者清單中新增
owners-override@fuchsia.dev。
不過,如要新增或更新 OWNERS 檔案,建議在專屬的 Gerrit 變更中管理這些變更。建議採用這種做法,因為這樣就能覆寫擁有者,並允許單獨提交檔案。如果 Gerrit 變更的其他部分需要額外變更,將這項資訊分開處理也能避免重新蓋章 OWNERS 修改內容。導入新目錄時,通常會使用這個程序,例如 //src 或 //src/lib。