Я работаю над проектом с открытым исходным кодом на GitHub.
У него есть подкаталог / Vendor, в котором имеется копия нескольких внешних библиотек. Оригинальный сопровождающий проекта время от времени обновлял этот каталог новой версией внешней библиотеки.
Один разработчик отправил мне запрос на удаление с идеей заменить эту копию на подмодуль git .
И я обдумываю, хорошая это идея или нет.
Git submodule Плюсы:
- Подмодули были специально разработаны для аналогичных сценариев
- Это исключает возможность случайной фиксации Vendor, которая будет перезаписана при следующем обновлении.
Подмодуль Git Минусы:
- Похоже, что подмодули git переносят сложность от сопровождающего к человеку, который будет клонировать / извлекать проект (после того, как вы клонируете, чтобы начать работу с проектом, требуются дополнительные шаги: «инициализация подмодуля git», «обновление подмодуля git»)
Каково ваше мнение по этому поводу?
Еще кое-что. Эта проблема - библиотека небольшого размера с очень ограниченными внешними зависимостями. Я думаю, что любой инструмент для сборки был бы излишним для этого сейчас.
git clone --recursive
а затем не нужно выполнять команды субмодуля. Никто другой не упомянул этот лакомый кусочек; большинство людей, которых я знаю, имеют субмодули, рекламируют это в README.