Go Wiki: Gerrit 訪問
此處描述了兩種不同許可權和職責的 Gerrit 訪問型別。只有當您是社群的活躍成員時,才應申請訪問許可權。新貢獻者應在申請訪問許可權之前,先參與 Gerrit 程式碼審查流程一段時間。
(如需 GitHub 訪問許可權,請參閱 GitHubAccess)
執行 TryBots(“may-start-trybots”)
TryBot 訪問許可權允許您在提交(預提交測試)之前,在 Gerrit 中啟動對 CL(更改列表)的測試執行。TryBots 在一個相對安全且相對隔離的環境中執行,但並非完全安全加固。在啟動 TryBots 之前,您必須快速瀏覽 CL,以查詢任何惡意內容。
有關觸發 TryBots 的詳細資訊,請參閱 LUCI。
所有審批者(請參閱下一節)都自動擁有 TryBot 訪問許可權。其他人可以申請 TryBot 訪問許可權。請參閱下面的 申請訪問許可權。
審批 CL(“approvers”)
審批者可以根據下面描述的審查規則,審查和提交程式碼更改(CL)。成為審批者意味著您有責任心:審批者是關心 Go 並希望其成功的人。審批者不僅是能夠進行更改的人,更是那些能夠與團隊協作、讓最有知識的人審查程式碼、貢獻高質量程式碼並跟進修復問題(程式碼或測試中的問題)的人。
程式碼審查要求
每個 CL 都需要同時來自審批者的程式碼審查(Code-Review+2)以及兩名使用 Google 安全計算機的 Google 員工的參與,他們可以是程式碼上傳者,也可以是投票至少 Code-Review+1 的審查者。要求多人參與可以確保程式碼不會被單個被攻破的賬戶單方面提交。Google 員工和硬體要求進一步提高了門檻:由於許多倉庫的 CL 在提交時本質上是由 Google 釋出供使用者下載的,因此 Google 的參與是為了批准此釋出。一旦審查獲得了 Code-Review+2 和必要的 Google 參與,任何審批者都可以提交。所有這些規則都由 Gerrit 伺服器強制執行。
Code-Review+2 投票表示您已閱讀更改,並確信它是正確的,適合提交。通常,您只應在您“擁有”的目錄或包中對程式碼進行 Code-Review+2 投票;例外情況是微小且明顯正確的更改。請注意,所有使用者可見的新功能或更改(新 API、新命令列標誌等)都需要透過 提案流程。CL 應在提交訊息中引用特定的已接受提案(“For #NNN.”)。
在新增 Code-Review+2 投票時,鼓勵也新增 Commit-Queue+1 和 Auto-Submit+1:有關詳細資訊,請參閱下面的 auto-submit 部分。
Code-Review+1 投票表示您已閱讀更改,並認為它看起來合理,但您沒有像 Code-Review+2 那樣做出最終判斷。這也意味著您確信該更改不會引入任何安全漏洞或其他明顯不當的程式碼更改。
當更改獲得適當的審查以供提交時,Gerrit 中會出現一個“提交”按鈕(供審批者使用)。您只能提交來自該區域所有者的 Code-Review+2 投票的更改(可能就是您自己!)。
審批者還可以對 CL 投票 Hold+1,將其標記為不可提交(直到該投票被移除)。典型的原因可能是我們需要等待提案審查才能處理此 CL,或者因為 CL 需要在特定時間提交:投票 Hold+1 確保它仍然可以被審查,但不會意外地提前提交。
要申請審批者訪問許可權,請參閱下面的 申請訪問許可權。
自動提交
如果您正在審查 CL,並認為它可以按原樣批准和提交,無需進一步更改,您可以使用自動提交功能來執行測試並在測試通過後提交 CL。為此,請投票 Code-Review+2 以及 Auto-Submit+1 和 Commit-Queue+1。當測試透過時,Gopherbot 將會提交它。
更準確地說,Gopherbot 會監視並自動提交滿足以下條件的 CL:
- 具有 Auto-Submit+1 投票,
- 滿足 TryBots-Pass 提交要求,
- 具有必要的程式碼審查,
- 沒有未解決的評論,
- 沒有被標記為 #wait-release,
- 並且可以與當前分支頭乾淨地合併。
所有審批者都可以新增 Auto-Submit+1 投票。當補丁重新上傳時,Auto-Submit+1 投票不會被保留。
審批 Wiki CL(“wiki-approvers”)
主要在 wiki(https://go.googlesource.com/wiki)工作的使用者可以申請 wiki-approvers 許可權。這允許他們對 wiki CL 進行 +2 投票並提交,包括他們自己的 CL。Wiki CL 不需要兩名(或任何)Google 員工的參與,它們沒有 TryBots,並且可以自我審查。
申請訪問許可權
要申請上述任何一種訪問型別,請提交一個新的 issue(https://golang.org.tw/issue/new?title=access:+&body=See+https://golang.org.tw/wiki/GerritAccess),說明您想要的訪問許可權,以及您用於登入 Gerrit 的 Google 賬戶。
授予訪問許可權的決定由 Google 的 Go 釋出團隊做出。如果您的請求被拒絕,幾乎總是因為您不夠活躍,不足以讓他們清晰地瞭解您的工作、對專案慣例的理解等。不要氣餒:達到這種熟悉程度需要時間。
獲得訪問許可權後
請幫助園藝!請參閱 Gardening。
此內容是 Go Wiki 的一部分。