При командной разработке в среде CVS
(Concurrent Versions System, Система Управления Версиями) члены команды
разработчиков работают каждый со своей локальной версией модели,
изолированно друг от друга. Очевидно, что разработчикам необходимо
обмениваться результатами проделанной работы. Они могут делать это с
помощью хранилища CVS.
Для одновременной разработки
взаимосвязанных, но частично независимых задач CVS использует механизм
веток. Ветки нужны для возможности совместной работы с последней
согласованной версией модели. Ветку можно представить как разделяемую
рабочую область, которая обновляется членами команды путем внесения
изменений в хранилище CVS. Такой подход позволяет членам команды
работать над проектом в CVS, выкладывать свои изменения и получать
доступ к изменениям, сделанным другими членами команды по мере развития
проекта.
По мере того, как члены команды разработчиков вносят свои изменения, они публикуют их, фиксируя свои изменения в хранилище. Аналогично, если разработчику нужно получить все доступные последние изменения, он обновляет свою локальную версию модели версией модели, находящейся в хранилище CVS. Таким образом, содержимое ветки постоянно меняется по мере внесения новых изменений членами команды.
Ветка отображает текущее состояние
проекта. Член команды разработчиков в любой момент может обновить свою
локальную версию модели данными из хранилища, будучи уверенным в том, что
полученные данные актуальны.

CVS предоставляет важнейшую для
командной разработки возможность согласованной работы. Это нужно для
того, чтобы в каждый момент времени существовало только одно текущее
состояние проекта, содержащее все изменения, совершенные командой.
Ресурсы проекта не существуют изолированно друг от друга, они могут содержать явные и неявные зависимости. Например, модель может использовать объекты из какой-либо библиотеки. При внесении обновлений в ветку эти зависимости могут быть нарушены. Обеспечивать целостность зависимостей необходимо, поскольку ветка хранит текущее состояние проекта и член команды должен иметь возможность в любой момент времени взять содержимое ветки за основу для начала работы по данному проекту.
Таким образом, идеальным рабочим процессом является такой, при котором сохраняется целостность содержимого хранилища.
Идеальным рабочим процессом является следующий:
Вносите Ваши изменения в хранилище
сразу, как только закончите редактировать модель. Прежде чем заливать
изменения, проверьте, что Ваша модель компилируется и работает верно!
Более подробную информацию о CVS Вы можете найти по адресу http://ximbiot.com/cvs/.