Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Перевести все прописные символы строки str в нижний регистр и вернуть измененную строку.

toupper
toupper (str)
Перевести все строчные символы строки str в верхний регистр и вернуть измененную строку.

while
while (condition) command
Выполнять команду command, пока истинно условие condition (допустимые условия см. в описании оператора if). Последовательность команд должна заключаться в фигурные скобки.

Глава 14

CVS и RCS

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

Основные понятия
Система контроля версий RCS (Revision Control System) работает в пределах одного каталога. Для поддержки крупных проектов, в которых задействована целая иерархия каталогов, созданы две новые концепции CVS - репози-торий (repository) и песочница (sandbox).
Репозиторий (называемый также архивом) является централизованным хранилищем данных, которое управляется системой контроля версий и администратором репозитория. Репозиторий содержит файлы проекта, а также информацию, необходимую для воссоздания произвольной версии любого файла. Администратор создает и управляет данными в репозитории, используя процедуры и команды, описанные далее в разделе «Справочник администратора CVS».
Песочница (также называемая рабочим каталогом) содержит копии файлов из репозитория. Непосредственно разработка происходит в рабочих каталогах, и любое количество рабочих каталогов может быть создано из единственного репозитория. Рабочие каталоги не зависимы друг от друга и могут содержать файлы, датированные разными стадиями разработки одного и того же проекта. Пользователи могут создавать и контролировать свои рабочие каталоги, используя процедуры и команды, описанные далее в этой главе в разделе «Справочник пользователя CVS».
В типичной ситуации взаимодействия с системой контроля версий разработчик извлекает из репозитория наиболее свежие файлы, вносит изменения, проверяет результат, а затем, когда результат оказывается удовлетворительным, помещает измененные файлы в репозиторий.

Блокировка и слияние
В некоторых системах, включая и RCS, используется механизм блокировки (locking model), призванный координировать работу нескольких разработчиков путем последовательного внесения изменений в файл. Прежде чем внести изменения в файл, разработчик должен не только получить копию файла, но еще запросить и получить блокировку файла у системы. Блокировка нужна для предотвращения (на самом деле для предупреждения) случаев
одновременной работы нескольких разработчиков с одним и тем же файлом.
После помещения изменений в репозиторий разработчик снимает блокировку с файла, позволяя, таким образом, другим разработчикам получить к нему доступ.
Данная модель блокировки является пессимистичной: предполагается, что следует избегать конфликтов. Конфликты предотвращаются посредством сериализации изменений файла. Но довольно обременительно блокировать файлы для редактирования при поиске ошибок. Зачастую разработчики работают в обход механизма блокировки, что является прямой дорогой к неприятностям.
В отличие от RCS и SCCS, в CVS используется механизм слияния (merging
model), позволяющий всем и каждому иметь доступ к файлам в любое время,
способствуя параллельной разработке. Механизм слияния является оптимистичным: подразумевается, что конфликтные ситуации возникают нечасто, а когда возникают, то их, как правило, нетрудно разрешить.
В CVS доступна работа с механизмом блокировки посредством параметров -L и —1 команды admin. Помимо этого в CVS существуют специальные команды (edit и watch) для поддержки дополнительной координации разработки. В CVS используется внутренняя блокировка, позволяющая предотвратить повреждения при одновременном доступе к репозиторию нескольких человек, но этот механизм не имеет ничего общего с механизмом пользовательской блокировки, описанным выше.



   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru