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





Если две версии задаются при помощи параметра -j, различия между этими версиями вычисляются и добавляются в текущий файл. Если задана только одна версия, тогда общий предок копии файла из рабочего каталога и указанной версии используется в качестве основы для поиска различий, которые должны быть внесены в файл.
Например, представим себе проект, в котором существует экспериментальная ветвь и важные изменения в файл foo.c были внесены в процессе перехода от версии 1.2.2.1 к версии 1.2.2.2. Как только изменения начинают считаться стабильными, может возникнуть необходимость отразить изменения
в основной ветви проекта. Следует выполнить следующую команду в каталоге с извлеченной основной версией:
user@localhost$ cvs update -j 1.2.2.1 -j 1.2.2.2 foo.c
CVS найдет различия между двумя версиями и добавит разницу к файлу в рабочем каталоге.
Аргумент spec для параметра -W имеет такой же формат, как и для записей в административном файле cvswrappers. (см. предшествующий раздел «Oaracvswrappers»).
Коды состояний, приведенные в табл. 14.38, используются для описания действий, которые были выполнены с каждым файлов репозитория и рабочего каталога.

Таблица 14.38. Коды состояний update
Код
состояния
Описание

А
Добавление. Сервер не выполнил никаких действий, поскольку файл не существует в репозитории. Была выполнена команда cvs add, но не cvs commit

С
Конфликт. Копия в рабочем каталоге изменилась (редактировалась после извлечения из репозитория или изменилась с момента выполнения последней команды commit). В репозитории новая версия файла. При слиянии версии репозитория с версией из рабочего каталога возникли
конфликты

М
Изменение. Копия в рабочем каталоге изменилась (редактировалась после извлечения из репозитория или изменилась с момента выполнения последней команды commit). Если в репозитории существовала новая версия, изменения в ней были успешно внесены в файл из рабочего каталога (без конфликтов)

Р
Наложение исправления. Идентично U, но с указанием на то, что сервер использовал patch

R
Удаление. Сервер не выполнил никаких действий. Была выполнена команда cvs removе, но не cvs commit

и
Обновление. Файл обновлен

?
Файл существует в рабочем каталоге, но не в репозитории

 

watch
{ { on I off } [ { add | remove } [ -a action ] } [ -1 I -R ] file . . .
Команда watch управляет механизмом слежения за работой с файлами. По умолчанию CVS действует в режиме параллельной разработки, позволяя любому пользователю редактировать любой файл в произвольный момент времени. В CVS включен механизмwatch для поддержкиразработчиков, которым удобнее немедленно узнавать об изменениях, внесенных другими разработчиками, ане в процессе выполнения команды update.
Файл С^ДООТУ/го^/рпределяет, каким способом производится доставка уведомлений.

Параметры -1 и -R имеют тот же смысл, что и обычно. С командой watch может быть использован только один дополнительный параметр: -а. Параметр -а используется в сочетании с одним из действий action, перечисленных в табл. 14.40.
Таблица 14.40. Действия watch
Действие
Описание

all
Все действия

commit
Помещение изменений в репозиторий

edit
Выполнение пользователем cvs edit

none
Не производить наблюдения. Используется командой edit

unedit
Пользователь выполнил команду cvs unedit, cvs release или удалил файл и выполнил cvs update, создав его заново

См. также описания команд edit, editors, unedit и watchers.
watchers
watchers [ -1 I -R ] [ file ...]
Вывести список пользователей, наблюдающих за указанными файлами. Наблюдение определяется на основе выполнения пользователем команды watch для определенного файла (или набора файлов). Если команда watch никем не используется, выводится пустой список.
Параметры -1 и -R имеют тот же смысл, что и обычно.
См. также watch.

Инструментов
Система управления версиями RCS (Revision Control System) разработана для отслеживания изменений многочисленных файлов и попутного сокра-

Обзор команд RCS

783

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

Обзор команд RCS
Три наиболее важные команды RCS:
ci Добавить версию (передать файл под управление RCS).
со Получить версию.
res Установить или изменить атрибуты файлов RCS.
Следующие две команды отображают информацию о файлах RCS: ident
Получить значения ключевых слов из файла RCS.
rlog
Отобразить журнал изменений файла RCS. Сравнивать файлы RCS можно при помощи следующих команд: rcsdiff
Отобразить различия между версиями. rcsmerge
Совместить изменения двух файлов RCS в третьем файле.
А эта команда облегчает управление настройками: rcsclean
Удалить рабочие файлы, которые не были изменены. Основные операции RCS
Обычно файлы RCS хранятся в подкаталоге RCS, поэтому первый шаг при использовании RCS выглядит так:
mkdir RCS
Затем существующий файл (или файлы) передается под управление RCS выполнением команды добавления:
ci file
В результате создается файл с именем file,v в каталоге RCS. file,v называется RCS-файлом, и в нем будут храниться все будущие изменения указанного файла file. Если команда ci выполняется для файла впервые, вам будет предложено ввести описание содержания файла. Затем указанный файл помещается в RCS как версия 1.1.
Для редактирования новой версии скопируйте существующую версию: со -1 file
По этой команде RCS создает копию// 1е из файла RCS. Вы должны заблокировать файл параметром -1, чтобы его можно было изменять. Эта копия называется рабочим файлом. Когда редактирование закончено, можно записать изменения повторным добавлением рабочего файла:
ci file
На этот раз вам будет предложено ввести описание внесенных изменений, а затем файл помещается на хранение как версия 1.2. Обратите внимание, что рабочий файл, как правило, удаляется при помещении версии в архив RCS. Чтобы получить копию только для чтения, скопируйте файл без блокирования:
со file
Это полезно, если необходимо иметь под рукой копию для поиска или компиляции. В качестве сокращения описанных ранее операций ci/co можно использовать команду:
ci file
Файл file будет добавлен и немедленно будет создана копия, предназначенная только для чтения. Для сравнения рабочего файла и его последней версии можно использовать команду:
rcsdiff file
Существует еще одна полезная команда rlog, которая отображает журнал записей изменений для файла.
Администратор системы может использовать команду res для настройки по-
ведения по умолчанию для RCS. <С

Общие стандарты RCS
В этом разделе рассматриваются:
Подстановка ключевых слов
Нумерация версий
Задание даты
Задание состояний

• Стандартные параметры и переменные окружения
Подстановка ключевых слов
RCS позволяет помещать переменные (в виде ключевых слов) в рабочие файлы. Эти переменные позже могут расширяться в примечания к версиям. Примечания можно использовать как встроенные комментарии в исходном файле или как текстовые строки, отображающиеся при печати результата, Создание примечаний к версиям с помощью подстановок ключевых слоз подразумевает выполнение следующей процедуры:
Добавьте в рабочий файл одно из перечисленных в следующем разделе ключевых слов.
Добавьте файл в проект RCS.
Извлеките добавленный файл. При этом команда со дополняет каждое из ключевых слов его значением. Таким образом, вхождения строки:

%keyworu%
заменяются строками вида:
$keyword:value$
4. Последующие добавления и извлечения файла обновляют все значения
существующих ключевых слов. Существующие значения заменяются но
выми, если нет указания на обратное.

ft

У многих команд RCS есть параметр -k, обеспечивающий большую гибкость при подстановке ключевых слов.



   
 

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