В настоящее время мы используем SVN для разработки внутреннего приложения, которое имеет большую часть своих функций в плагинах. В нашем подходе к переключению git это приложение вызывает некоторые головные боли относительно того, что наилучшая практика касается обработки такого проекта в git.Поддержание проекта с плагинами в git
I.e. должен ли мы помещать каждый плагин в свой собственный репозиторий git? Это может показаться логичным выбором, поскольку плагины в основном не зависят друг от друга и довольно автономны (просто используют основное приложение для функциональных возможностей фреймворка и управления общими функциями), которые часто разрабатываются разными людьми и иногда устаревают. Однако теперь есть более дюжины плагинов с еще большим количеством, и для создания всего проекта обычно требуется проверять все (или большинство) плагинов по одному. И, кажется, нет простого способа проверить ВСЕ их сразу, т. Е. Там, вероятно, должен быть какой-то «список», чтобы люди знали, что получить, а что нет.
С другой стороны, помещение всего в один репозиторий git кажется не в духе git, особенно. поскольку мы будем носить старый мертвый код и работать над одним плагином, потребуется проверить много кода (хотя тогда большинство разработчиков, работающих над ним, все равно проверили бы все). Также ветвление всегда будет разветвляться всем (что делает, например, кросс-тестирование разветвленных функций сложным, если плагины не могут разветвляться отдельно)
Одна из идей заключается в использовании подмодулей, но я не знаю, накладные расходы (умственные накладные расходы , Я имею в виду) больше, чем выигрыш (или мы получаем меньше, чем теряем с использованием подхода «один за другим»).
Как бы справиться с этим проектом в git?
Поэтому, когда я проверяю родительский проект и не задумываюсь назвать «git subodule init» для каждого плагина, у меня будут все проекты на моем рабочем столе. Однако подмодули привязаны к версиям (http://stackoverflow.com/questions/720669), не будет ли это причиной более сложного рабочего процесса? – Mike 2010-11-30 07:32:07