CVS.Система управления параллельными версиями

       

Несколько разработчиков


Когда над программным проектом работает более одного человека, все усложняется. Зачастую два разработчика одновременно пытаются редактировать один и тот же файл. Одно из решений, известное как блокировка файлов или блокированное извлечение, -- в каждый момент времени позволять редактировать файл только одному человеку. Это -- единственное решение при использовании некоторых систем контроля версий, включая RCS и SCCS. В настоящее время единственным способом совершить блокированное извлечение рабочей копии с помощью CVS -- использовать команду cvs admin -l (see section Ключи команды admin). Это не столь красиво интегрировано в CVS, как функции слежения, описанные ниже, но кажется, что всех, кому требуются блокированное извлечение, эта команда устраивает.

Для избежания одновременного редактирования файла можно также использовать возможность слежения, описанную ниже, вместе с соответствующими процедурами (не контролируемыми с помощью программы).

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

CVS также поддерживает механизмы различных способов коммуникации, никак не настаивая на выполнении каких-либо правил, в отличие от блокированных извлечений.

Оставшаяся часть главы описывает, как работают все эти различные модели, а также некоторые вопросы, связанные с выбором того или иного варианта.

Содержание раздела