Переход от StarTeam к распределенному контролю версий

В настоящее время мы используем StarTeam для нашего проекта, и срок действия лицензии скоро истекает. Мы ищем при переходе на Team Foundation Server или что-то подобное, но есть толчок (в основном я и еще один человек) перейти к какой-либо форме распределенного контроля версий. Одна из проблем заключается в том, что наш менеджер изменений хочет иметь возможность отслеживать и выпускать по запросу на изменение (как в StarTeam), и я не верю, что это можно легко сделать с помощью Mercurial или Git из коробки (пожалуйста, поправьте меня, если я ошибаюсь).

Это 15+ продукт годичной давности с тысячами java-файлов и пакетов PL / SQL, поддерживаемый 5-6 подгруппами разработчиков, в общей сложности 30-40 разработчиков. Мне кажется, что распределенный репозиторий станет кошмаром с «ранней фиксацией» , совершайте часто "мышление. Тот факт, что каждая команда будет работать над совершенно другой подсистемой в одном и том же представлении По моему мнению, это делает это еще более отвратительным.

Наша текущая процедура StarTeam для любых изменений такова:

  1. Заблокируйте файлы, над которыми вы хотите работать,
  2. Внесите все изменения и просмотрите их по копии на сетевом диске,
  3. Зарегистрируйте (и разблокируйте) измененные файлы, надеясь, что кто-то не сломал вашу блокировку принудительно,
  4. Надеюсь, что ваше изменение не нарушило сборку из чужих изменений в другие файлы

Лично я считаю, что идея «блокировки» файлов смешна. Между командами должно быть достаточно общения, чтобы в этом не было необходимости.

Есть ли у кого-нибудь здесь опыт работы с распределенными репозиториями для проектов аналогичного размера? Не могли бы вы сделать какие-либо предложения относительно решений для контроля версий и / или управления изменениями? Основное требование состоит в том, чтобы система могла управлять запросами на изменение, инициированными клиентами, и заставлять разработчиков связывать свои чеки с одной.

Спасибо.

5
задан Helgi 7 December 2011 в 18:51
поделиться