The Chromium Chronicle #22: เครื่องมือ Know Thy (Depot)

ตอนที่ 22: โดย Edward Lesmes in San Francisco, CA (มิถุนายน 2021)
ตอนก่อนหน้า

เครื่องมือ Depot คือคอลเล็กชันเครื่องมือที่สร้างขึ้นจาก Git เพื่อลดความซับซ้อนของเวิร์กโฟลว์ของนักพัฒนาซอฟต์แวร์ที่มีส่วนร่วมกับโค้ดเบสของ Chromium และโครงการที่เกี่ยวข้อง โดยมีเครื่องมือในการรับโค้ด อัปโหลดการเปลี่ยนแปลงเพื่อการตรวจสอบ อัปเดตขั้นตอนการชำระเงินให้เป็นปัจจุบันอยู่เสมอ และอีกมากมาย

รับโค้ด

เรียกใช้ fetch chromium ในไดเรกทอรีที่ว่างเปล่า คำสั่ง fetch ยังใช้เพื่อรับโค้ดสำหรับที่เก็บอื่นๆ เช่น v8 หรือ webrtc ได้ด้วย ดูรายการทั้งหมดได้ที่ fetch help

อัปโหลดการเปลี่ยนแปลงเพื่อรับการตรวจสอบ

CL แต่ละรายการจะสอดคล้องกับ Branch เดียวใน Git ดังนั้นให้เริ่มด้วยการเรียกใช้ git new-branch <branch_name> เพื่อสร้าง Branch ใหม่ ดำเนินการเปลี่ยนแปลงกับสาขานี้ได้มากเท่าที่ต้องการและเรียกใช้ git cl upload เมื่อพร้อมรับการตรวจสอบ

git cl issue จะแจ้งให้คุณทราบว่าสาขาของคุณเชื่อมโยงกับ CL ใด โปรดใช้ git cl issue <issue> เพื่อเปลี่ยนการตั้งค่า

อัปเดตขั้นตอนการชำระเงินให้เป็นปัจจุบันอยู่เสมอ

เรียกใช้ git rebase-update เป็นระยะเพื่อซิงค์ Branch ในเครื่องกับอัปสตรีม และใช้ gclient sync เพื่ออัปเดตที่เก็บ third_party และเรียกใช้ hook ก่อนคอมไพล์

จัดการ CL หลายรายการ

  • git cl status จะแสดง CL ที่เชื่อมโยงกับสาขาในพื้นที่และสถานะ (ยังไม่ได้ส่ง, lgtm, ปิดแล้ว เป็นต้น)
  • git freeze และ git thaw ทำงานเหมือน git stash แต่จะติดตามสาขาที่เชื่อมโยงกับการเปลี่ยนแปลงที่ซ่อนไว้
  • git map จะแสดงประวัติของสาขาทั้งหมด และ git map-branches จะแสดงความสัมพันธ์แบบอัปสตรีมระหว่างสาขาทั้งหมดของคุณ
  • git new-branch --upstream_current <branch_name> จะสร้างสาขาใหม่ที่ด้านบนของสาขาที่มีอยู่ ใช้ git rebase-update เพื่อฐานสาขาที่เกี่ยวข้องใหม่หลังจากทำการเปลี่ยนแปลงกับ Branch ฐาน

ดำเนินการกับ CL ที่มีอยู่ต่อไปในเครื่องอื่น

เรียกใช้ git cl patch <issue_url> เพื่อเลือก CL ที่มีอยู่ที่ด้านบนของ Branch ปัจจุบัน โปรดทราบว่าระบบจะเชื่อมโยง Branch ปัจจุบันกับ CL ที่แพตช์ ใช้ git cl patch <issue_url> --reapply เพื่อทิ้งการเปลี่ยนแปลงในเครื่องและนำปัญหาไปใช้อีกครั้ง

และอื่นๆ

โปรดดูบทแนะนำเครื่องมือสำหรับ Depot และดูข้อความช่วยเหลือสำหรับแต่ละคำสั่งเพื่อค้นหาฟีเจอร์เจ๋งๆ ทั้งหมด และแจ้งให้เราทราบหากคุณมีปัญหาใดๆ