В настоящее время мы используем SVN для разработки внутреннего приложения, которое имеет большую часть своей функциональности в плагинах. В нашем подходе к переключению git это приложение вызывает некоторые головные боли в отношении того, как лучше всего обрабатывать подобные проекты в git.
т.е. мы должны поместить каждый плагин в свой собственный репозиторий git? Это может показаться логичным выбором, так как плагины в основном не зависят друг от друга и являются скорее автономными (просто используют базовое приложение для функциональности фреймворка и управления общими функциями), часто разрабатываются разными людьми и иногда не рекомендуются. Однако в настоящее время существует более дюжины плагинов, и их будет еще больше, и для создания всего проекта обычно требуется проверить все (или большинство) плагинов по одному. И, кажется, нет простого способа проверить ВСЕ из них сразу, то есть, вероятно, должен быть какой-то «список», чтобы люди знали, что получить, а что нет.
С другой стороны, помещение всего в один репозиторий git, похоже, не в духе git, esp. поскольку мы будем носить старый мертвый код, а работа над одним плагином потребует проверки большого количества кода (хотя тогда большинство разработчиков, работающих над ним, все равно проверят все). Также ветвление всегда будет ветвить все (что затрудняет, например, перекрестное тестирование разветвленных функций, если плагины не могут переходить по отдельности)
Одна идея состоит в том, чтобы использовать субмодули, но я не знаю, больше ли накладные расходы (я имею в виду психологические накладные расходы), чем выгода (или, получаем ли мы меньше, чем теряем при использовании подхода «один для всех» ).
Как бы вы справились с таким проектом в git?