14.15 Как ваша система построения программ взаимодействует с CVS contents

14.15 Как ваша система построения программ взаимодействует с CVS

Как упоминалось во введении, CVS не обеспечивает средств для построения готовых программ из исходных текстов (таких как make). В этом разделе описывается каким образом ваша система построения программ могла бы взаимодействовать с CVS.

Один общий вопрос, как их система построения могла бы соответствовать наиболее свежим версиям исходников. Ответ с использованием CVS имеет две стороны. Во-первых, поскольку CVS сама по себе обеспечивает рекурсивную обработку каталогов, то нет нужды как-то специально заботиться о соответствующих изменениях файла Makefile (или какого-то другого конфигурационного файла, который используется в вашей системе построения программ из исходных текстов), чтобы сделать его соответствующим наиболее свежей версии исходников. Вместо этого, просто используйте две команды: cvs -q update и затем make для вызова вашей системы построения. Во-вторых, вам нет нужды иметь наиболее свежие копии от остальных разработчиков, пока не завершена ваша работа.

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

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

Следующий вопрос, который является весьма общим для многих разработок, состоит в том, как составить список версий всех файлов, которые должны использоваться для построения конечного продукта (готовой к исполнению программной системы). Наилучший способ реализовать этот вид функциональности состоит в использовании тега, т.е. команды (tag), чтобы записать какие версии каких модулей будут включены в данном варианте конечного продукта.

Использование CVS прямо в соответствии с основным назначением поддержки множества версий является сравнительно нетрудным. В этом случае каждый разработчик будет иметь копию дерева исходников в сво©м рабочем каталоге. Это дерево и будет источником для построения конечной программы или системы. Если исходное дерево невелико или разработчики рассеяны географически, то это лучший способ выполнения совместных работ. Если дерево очень велико, т.е. проект велик, то стандартный способ - разбить проект на независимые части. Тогда каждая группа разработчиков будет заниматься своей частью, а не полным набором (полным деревом) исходных файлов.

Другой подход состоит в том, что каждый разработчик имеет у себя относительно небольшой фрагмент кодов, который он отлаживает или модифицирует, а остальная часть проекта содержится в централизованном хранилище. Многие люди приходят с некоторыми такими системами, используя особенности символических линков (ссылок) или особенности VPATH, которая имеется во многих версиях утилиты make. Одно из таких средств полезных при построении программ можно найти в ftp://ftp.cs.colorado.edu/pub/distribs/odin.


contents Обновлено: 16.03.2015