Какую стратегию управления версиями принять для проекта, настроенного для разных клиентов? - PullRequest
0 голосов
/ 21 сентября 2011

Мне любопытно, какую стратегию управления версиями исходных текстов применили бы другие к java-проекту (веб-приложению), для которого весьма вероятно иметь настройку для нескольких клиентов.

Проект будет иметь стандартную версию, но для некоторых его клиентов будут сделаны некоторые настройки (в разных ветках).

Читая эту тему: Какую стратегию ветвления следует использовать при разработке / обслуживании веб-приложения? Полагаю, что "Ветвь за выпуском" подойдет для разработки стандартной версии проекта.

Теперь при работе с веткой клиента в коде выполняются некоторые улучшения / исправления ошибок, которые будут полезны для другой версии клиента / стандартной версии, это будет означать, что для каждой из ветвей будут выполняться слияния и тесты, чтобы будьте в курсе всех событий.

В качестве ограничения, для этого проекта мы застряли с CVS в качестве системы управления версиями.

Для создания версий созданных артефактов мы будем использовать maven (зависимость: artifactId, groupId, версия, классификатор - имя клиента - чтобы четко различать артефакты).

1 Ответ

1 голос
/ 22 сентября 2011

Я бы порекомендовал создать ветвь для каждого клиента И ветвь для каждой функции, и пусть ваш ствол представляет вашу "стандартную версию".

Любые мелкие исправления будут слиты обратно в ствол и впоследствии распространены на все ветви. То же самое относится и к новым функциям, поскольку вы объединяете их обратно в ствол и уничтожаете ветвь.

Все ваши филиалы клиентов будут долгоживущими, и вы сделаете там свои индивидуальные настройки для клиентов и выйдете из этих филиалов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...