Chromium Chronicle #22:Know Thy (Depot) 工具

第 22 集:作者:加州舊金山的 Edward Lesmes (2021 年 6 月)
先前劇集

Depot Tools 是以 Git 為基礎建構的一系列工具,可簡化開發人員為 Chromium 程式碼集和相關專案所做的工作流程。其中包含取得程式碼、上傳變更以便審查、確保結帳程序及時更新等實用工具!

取得程式碼

在空白目錄中執行 fetch chromiumfetch 指令也可以用來取得 v8 或 webrtc 等其他存放區的程式碼。如需完整清單,請參閱 fetch help

上傳變更以供審查

每個 CL 都會對應 Git 中的一個分支版本,因此請先執行 git new-branch <branch_name> 來建立新的分支版本。盡可能對這個分支版本提交任意變更,並在準備好送交審查時執行 git cl upload

git cl issue 會顯示與分支版本相關聯的 CL。請使用 git cl issue <issue> 變更。

提供最新結帳資訊

定期執行 git rebase-update,將本機分支版本同步到其上游,gclient sync 則可更新 third_party 存放區並執行預先編譯掛鉤。

管理多個 CL

  • git cl status 會顯示與本機分支版本相關聯的 CL 及其狀態 (未傳送、lgtm、關閉等)。
  • git freezegit thaw 的運作方式與 git stash 類似,但會追蹤與內建變更相關的分支版本。
  • git map 會顯示所有分支版本的記錄,git map-branches 則會顯示所有分支版本之間的上游關係。
  • git new-branch --upstream_current <branch_name> 會在現有分支版本的上方建立新分支版本。變更基礎分支版本後,請使用 git rebase-update 重新建立相依分支版本。

繼續在其他電腦上使用現有 CL

執行 git cl patch <issue_url>,在目前分支版本上方選擇現有的 CL。請注意,這會將目前的分支版本與修補的 CL 建立關聯。請使用 git cl patch <issue_url> --reapply 捨棄本機變更,然後重新套用問題。

其他更新

請參閱Depot 工具教學課程,探索每個指令的說明訊息,藉此探索所有酷炫功能。如有任何問題,歡迎與我們聯絡!