Оновлення git submodules
Кожен субмодуль закріплений за тегом або комітом через поле *-pin у .gitmodules. Дотримуйтесь наведеного нижче процесу, щоб оновити один або кілька субмодулів до цільової версії.
Аргументи
Один або кілька субмодулів для оновлення (шлях або імʼя). Субмодулі, доступні для оновлення, оголошені в .gitmodules, і включають:
themes/docsy, тема Docsycontent-modules/*, субмодулі OpenTelemetry
Цільова версія (для кожного субмодуля або всіх):
- Конкретний тег або коміт
latestдля останнього тегованого релізуHEADдля голови гілки за замовчуванням
Процес
Запустіть
npm run update:submodule.Отримує теги та переключає кожен субмодуль на стандартну вершину гілки віддаленого репозиторію, щоб значення pin можна було визначити локально на наступному кроці.
Для кожного субмодуля визначте нове значення pin з цільової версії, виконуючи команди git всередині субмодуля:
Конкретний тег або коміт: використовуйте його як дано, після перевірки, що він існує за допомогою
git rev-parse --verify <tag-or-commit>, який виводить відповідний SHA, коли він дійсний.Щоб побачити список дійсних тегів, виконайте
git tag --list.Останній реліз:
git describe --tags --abbrev=0HEAD: SHA1 для
HEAD
Для commit pins, включаючи
HEAD:- Якщо
git describe --tags<commit>успішно виконується, використовуйте його вихід як pin, оскільки він передає найближчий реліз – наприклад,v1.23.0-11-gca090204протиca090204. - Інакше використовуйте SHA1 для
<commit>.
Змініть значення
*-pinсубмодуля в .gitmodules.Запустіть
npm run pin:submodule, щоб переключити субмодулі на їх нові pin, і перевірте, що повідомлені ревізії (також доступні черезgit submodule) відповідають pin.Зробіть commit змін у
.gitmodulesта gitlink(s) субмодуля. Використовуйте повідомлення commit, наприклад “Update<submodule>to<version>” для оновлень одного модуля або щось подібне для інших випадків. Commit зараз запобігає наступному кроку скидання субмодулів до їх раніше збережених gitlink.Запустіть
npm run prepare, щоб оновити залежності субмодулів. Зробіть commit будь-яких результатів змін, за потреби доповнюючи попередній commit.
Перевірка:
- Для швидкої перевірки запустіть
npm run buildі переконайтеся, що він виконується без помилок або (неочікуваних) попереджень. - Для комплексної перевірки запустіть
npm run testі переконайтеся, що він проходить без помилок.