Chromium Chronicle #22: Biết công cụ Thy (Depot)

Tập 22: của Edward Lesmes ở San Francisco, CA (tháng 6 năm 2021)
Các tập trước

Depot Tools là một tập hợp các công cụ được xây dựng trên Git để đơn giản hoá quy trình làm việc của các nhà phát triển đóng góp cho cơ sở mã Chromium và các dự án liên quan. Android Studio chứa các công cụ để lấy mã, tải các thay đổi lên để được xem xét, cập nhật quy trình thanh toán và nhiều công cụ khác!

Lấy mã

Chạy fetch chromium trong thư mục trống. Bạn cũng có thể dùng lệnh fetch để lấy mã cho các kho lưu trữ khác như v8 hoặc webrtc. Hãy truy cập fetch help để xem danh sách đầy đủ.

Tải nội dung thay đổi lên để được xem xét

Mỗi CL tương ứng với một nhánh duy nhất trong git, vì vậy, hãy bắt đầu bằng cách chạy git new-branch <branch_name> để tạo một nhánh mới. Cam kết số lượng thay đổi bạn muốn đối với nhánh này và chạy git cl upload khi nhánh này đã sẵn sàng được xem xét.

git cl issue sẽ cho bạn biết chi nhánh của bạn được liên kết với CL nào. Hãy dùng git cl issue <issue> để thay đổi chế độ cài đặt này.

Đảm bảo thông tin thanh toán luôn được cập nhật

Chạy git rebase-update định kỳ để đồng bộ hoá các nhánh cục bộ với thượng nguồn và gclient sync để cập nhật các kho lưu trữ third_party và chạy các hook trước khi biên dịch.

Quản lý nhiều CL

  • git cl status sẽ hiển thị các CL được liên kết với các nhánh cục bộ và trạng thái của các CL đó (chưa gửi, lgtm, đã đóng, v.v.).
  • git freezegit thaw hoạt động như git stash, nhưng hãy theo dõi nhánh liên kết với các thay đổi đã lưu trữ.
  • git map sẽ cho bạn thấy lịch sử của tất cả các nhánh và git map-branches sẽ cho bạn thấy mối quan hệ ngược dòng giữa tất cả các nhánh của bạn.
  • git new-branch --upstream_current <branch_name> tạo một nhánh mới ở trên một nhánh hiện có. Sử dụng git rebase-update để tạo lại nhánh phụ thuộc sau khi thực hiện các thay đổi đối với nhánh cơ sở.

Tiếp tục thao tác trên CL hiện có trên một máy khác

Chạy git cl patch <issue_url> để chọn một CL hiện có ở đầu nhánh hiện tại. Lưu ý rằng thao tác này sẽ liên kết nhánh hiện tại với CL được vá. Hãy sử dụng git cl patch <issue_url> --reapply để loại bỏ các thay đổi cục bộ và áp dụng lại vấn đề.

Và các dữ liệu khác

Hãy xem hướng dẫn về công cụ kho và khám phá các thông báo trợ giúp cho từng lệnh để khám phá tất cả các tính năng thú vị, đồng thời cho chúng tôi biết nếu bạn gặp vấn đề nào!