Хроники Chromium № 22: Знай свои инструменты (склада)

Эпизод 22: Эдвард Лесмес, Сан-Франциско, Калифорния (июнь 2021 г.)
Предыдущие серии

Depot Tools — это набор инструментов, созданных на базе Git для упрощения рабочего процесса разработчиков, работающих над кодовой базой Chromium и связанными с ней проектами. Он содержит инструменты для получения кода, загрузки изменений для проверки, обновления оформления заказа и многого другого!

Получить код

Запустите fetch chromium в пустом каталоге. Команду fetch также можно использовать для получения кода для других репозиториев, таких как 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 freeze и git 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 , чтобы отменить локальные изменения и повторно применить проблему.

И более

Ознакомьтесь с руководством по инструментам депо и изучите справочные сообщения для каждой команды, чтобы узнать обо всех интересных функциях, и сообщите нам, если у вас возникнут какие-либо проблемы !