Командная разработка с использованием CVS

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

Ветки

Для одновременной разработки взаимосвязанных, но частично независимых задач CVS использует механизм веток. Ветки нужны для возможности совместной работы с последней согласованной версией модели. Ветку можно представить как разделяемую рабочую область, которая обновляется членами команды путем внесения изменений в хранилище CVS. Такой подход позволяет членам команды работать над проектом в CVS, выкладывать свои изменения и получать доступ к изменениям, сделанным другими членами команды по мере развития проекта.

Разделение задач

По мере того, как члены команды разработчиков вносят свои изменения, они публикуют их, фиксируя свои изменения в хранилище. Аналогично, если разработчику нужно получить все доступные последние изменения, он обновляет свою локальную версию модели версией модели, находящейся в хранилище CVS. Таким образом, содержимое ветки постоянно меняется по мере внесения новых изменений членами команды.

Ветка отображает текущее состояние проекта. Член команды разработчиков в любой момент может обновить свою локальную версию модели данными из хранилища, будучи уверенным в том, что полученные данные актуальны.

CVS предоставляет важнейшую для командной разработки возможность согласованной работы. Это нужно для того, чтобы в каждый момент времени существовало только одно текущее состояние проекта, содержащее все изменения, совершенные командой.

Рекомендуемый рабочий процесс

  1. Если Вам нужно добавить  модель в хранилище CVS, так, чтобы она стала доступна другим членам команды разработчиков, щелкните правой кнопкой мыши в панели Проект, выберите CVS|Добавить... из контекстного меню и следуйте инструкциям Мастера Добавить в CVS.  
  2. Если же Вы хотите работать с моделью, которая уже существует в хранилище CVS, импортируйте эту модель из CVS. Чтобы импортировать модель, выберите Файл|Импорт...|Из CVS и следуйте инструкциям Мастера Забрать из CVS.

Ресурсы проекта не существуют изолированно друг от друга, они могут содержать явные и неявные зависимости. Например, модель может использовать объекты из какой-либо библиотеки. При внесении обновлений в ветку эти зависимости могут быть нарушены. Обеспечивать целостность зависимостей необходимо, поскольку ветка хранит текущее состояние проекта и член команды должен иметь возможность в любой момент времени взять содержимое ветки за основу для начала работы по данному проекту.

Таким образом, идеальным рабочим процессом является такой, при котором сохраняется целостность содержимого хранилища.

Идеальный рабочий процесс

Идеальным рабочим процессом является следующий:

  1. Начало работы. Перед началом работы следует обновить локальную модель моделью, хранящейся в хранилище. Эта операция перезапишет локальные ресурсы теми, которые находятся в ветке.
  2. Обновление. Перед началом работы следует произвести синхронизацию с хранилищем CVS. Заберите из хранилища в вашу локальную рабочую область все изменения, сделанные другими разработчиками. Если некоторые локальные изменения не были внесены в хранилище, то произойдет конфликт. Его можно разрешить двумя способами: Вы можете либо внести ваши локальные изменения в хранилище (это следует сделать в том случае, если ваши изменения верны и более актуальны, чем те, которые хранятся в хранилище) или обновить Вашу модель новой моделью из хранилища (но это удалит все Ваши локальные изменения).
  3. Совершение изменений. Работайте локально, создавая новые ресурсы, изменяя существующие и сохраняя изменения локально по мере необходимости.
  4. Фиксирование изменений. Если Вы уверены, что Ваши изменения не нарушат целостность содержимого ветки, то вносите Ваши изменения в хранилище.

Вносите Ваши изменения в хранилище сразу, как только закончите редактировать модель. Прежде чем заливать изменения, проверьте, что Ваша модель компилируется и работает верно!

Более подробную информацию о CVS Вы можете найти по адресу http://ximbiot.com/cvs/.