Версия для печати

Архив документации на OpenNet.ru / Раздел "Программирование, языки" (Многостраничная версия)

Управление версиями с помощью RCS


С О Д Е Р Ж А Н И Е

rcs - изменить атрибуты файла RCS
rcsintro - введение в команды RCS
co - оформленный вывод модификаций RCS
ci - оформленный ввод модификаций RCS
ident - идентифицировать строки ключевых слов RCS в файлах
rcsclean - очистка рабочих файлов
rcsdiff - сравнить RCS-модификации
rcsmerge - слить модификации RCS
rlog - печать журнальных записей и другой информации о файлах RCS
rcsfile - формат файла RCS
merge - слияние файлов
Словарь перевода RCS

rcs - изменить атрибуты файла RCS





С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ОПЦИИ                                                             1
5. СОВМЕСТИМОСТЬ                                                     6
6. ФАЙЛЫ                                                             6
7. СРЕДА                                                             6
8. ДИАГНОСТИКА                                                       6
9. ИДЕНТИФИКАЦИЯ                                                     6
10. СМ. ТАКЖЕ                                                        7
11. ОШИБКИ                                                           7

 1. ИМЯ
       rcs - изменить атрибуты файла RCS

 2. ФОРМАТ
       rcs options file...

 3. ОПИСАНИЕ
       rcs создает новые файлы RCS или изменяет  атрибуты существующих.
       Файл RCS содержит множественные модификации текста,  список дос-
       тупа, запись изменений, поясняющий текст и некоторые управляющие
       атрибуты. Для запуска rcs регистрационное имя пользователя долж-
       но быть в списке доступа,  за исключением случаев, когда: список
       пуст, пользователь  - владелец файла или привилегированный поль-
       зователь, или присутствует опция -i.

       Имена путей,  соответствующие RCS-суффиксу,  означают файлы RCS;
       все другие означают рабочие файлы.  Имена спарены, как объяснено
       в ci(1). Номера модификаций используют синтаксис, описанный в
       ci(1).

 4. ОПЦИИ
       -i      Создать и инициализировать новый RCS-файл,  но  не  со-
               хранять никакой модификации.  Если RCS-файл не имеет пу-
               тевого префикса,  то попробуйте поместить его сначала  в
               поддиректорий ./RCS,  а затем в текущий директорий. Если
               RCS-файл уже существует, то выдать ошибку.

       -alogins
               Добавить регистрационные  имена из разделенного запятыми
               списка logins в список доступа файла RCS.

       -Aoldfile
               Добавить список  доступа  файла oldfile к списку доступа
               файла RCS.
       -e[logins]
               Стереть регистрационные имена, появляющиеся в разделенном
               запятыми списке logins, из списка доступа файла RCS. Если

                                - 2 -

               logins опущен, то стереть весь список доступа.

       -b[rev]
               Установить ветвь по умолчанию на rev. Если rev опущена,
               то ветвь по умолчанию переустанавливается на (динамичес-
               ки) наивысшую ветвь на стволе.

       -cstring
               Установить начальный участок с комментариями  в  string.
               Первоначальная ci или rcs -i без -c "сочиняет" начальный
               участок с комментариями,  исходя из суффикса имени рабо-
               чего файла.

               Эта опция устарела,  так как RCS обычно использует  пре-
               фикс предшествующей строки $Log$ при вставке регистраци-
               онных строк во время оформленного ввода (см. co(1)). Од-
               нако  старые  версии  RCS используют начальный участок с
               комментариями вместо префикса строки $Log$, так что если
               вы  планируете доступ к файлу и со старой и с новой вер-
               сиями RCS,  то убедитесь,  что его начальный  участок  с
               комментариями соответствует его префиксу строки $Log$.

       -ksubst
               Установить подстановку  ключевых  слов  по  умолчанию на
               subst. Эффект подстановки ключевых слов описан  в co(1).
               Давая явную опцию -k для co, rcsdiff и rcsmerge перекры-
               вают это умолчание.  Остерегайтесь rcs -kv,  так как -kv
               несовместима с  co -l.  Используйте rcs -kkv для восста-
               новления нормальной подстановки ключевых слов по умолча-
               нию.
       -l[rev]
               Блокировать модификацию  с  номером  rev.  Если   задана
               ветвь, то  блокировать самую позднюю модификацию на этой
               ветви. Если rev опущена,  то блокировать  самую  позднюю
               модификацию на  ветви  по умолчанию.  Блокирование пре-
               дотвращает перекрытие изменений.  Если  кто-то  еще  уже
               поставил блокировку,  то она нарушается,  как при rcs -u
               (см. ниже).

                                - 3 -

       -u[rev]
               Разблокировать модификацию  с  номером rev.  Если задана
               ветвь, то разблокировать самую  позднюю  модификацию  на
               этой ветви.  Если rev опущена,  то удалить самую позднюю
               блокировку, наложенную  пользователем.  В  норме  только
               блокиратор модификации  может разблокировать ее.  Кто-то
               другой, разблокируя модификацию,  нарушает  блокировку.
               Это  вызывает посылку сообщения первоначальному блокира-
               тору.  Сообщение содержит комментарий от имени нарушите-
               ля. Сообщение кончается концом_файла или строкой, содер-
               жащей `.'.

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

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

       -mrev:msg
               Заменяет журнальную запись модификации rev на msg.
       -M      Не посылать сообщения при нарушении блокировки кем-то
               другим. Эта  опция - не значащая для случайного (нерегу-
               лярного) употребления;  ее имеет смысл применять  только
               для программ, которые предупреждают пользователей други-
               ми средствами и вызывают rcs -u как низкоуровневую  опе-
               рацию, нарушающую блокировку.

       -nname[:[rev]]
               Ассоциировать символическое имя name с ветвью или  моди-
               фикацией rev.  Удалить символическое имя,  если и `:' и
               rev опущены;  иначе печатать сообщение об  ошибке,  если

                                - 4 -

               rev уже  ассоциирована  с другим номером.  Если rev сим-
               вольная, то она расширяется перед  ассоциированием.  rev,
               состоящая из номера ветви с последующей точкой, означает
               текущую самую позднюю модификацию на ветви.  Двоеточие с
               пустой rev означает текущую самую позднюю модификацию на
               ветви по умолчанию,  в норме на  стволе.  Например,  rcs
               -nname: RCS/*  ассоциирует  name с текущей самой поздней
               модификацией из всех именованных файлов RCS;  это  конт-
               растирует с  rcs  -nname:$  RCS/* ,  которая ассоциирует
               name с номерами модификаций,  извлеченными из строк клю-
               чевых слов в соответствующих рабочих файлах.

       -Nname[:{rev]]
               Действует наподобие -n, только перезаписывает любое пре-
               дыдущее присвоение name.

       -orange
               удаляет модификации,  заданные диапазоном range.  Диапа-
               зон, состоящий  из  одного номера модификации,  означает
               эту модификацию.  Диапазон,  состоящий из номера  ветви,
               означает самую позднюю модификацию на этой ветви. Диапа-
               зон в форме rev1:rev2 означает модификации  от  rev1  до
               rev2 на одной ветви,  :rev означает от начала ветви, со-
               держащей rev, до rev включительно и rev: означает от мо-
               дификации rev до конца ветви, содержащей rev. Ни одна из
               удаляемых модификаций не может иметь ветви  или  блоки-
               ровки.
       -q      Исполнять "молча"; не печатать диагностику.

       -I      Исполнять интерактивно, даже если стандартный выход - не
               терминал.

       -sstate[:rev]
               Установить атрибут  состояния  модификации rev на state.
               Если rev - номер ветви,  то предполагается самая поздняя
               модификация на этой ветви.  Если rev опущена, то предпо-
               лагается самая поздняя модификация на ветви  по  умолча-
               нию. Для state приемлем любой идентификатор. Полезен на-

                                - 5 -

               бор состояний:     Exp     (экспериментальное),     Stab
               (стабильное) и Rel (released).  По умолчанию ci(1) уста-
               навливает состояние модификации на Exp.

       -t[file]
               Записать поясняющий  текст  из  содержимого файла file в
               файл RCS,  удалив существующий текст.  Имя пути файла не
               может начинаться  с  - .  Если file опущен,  то получить
               текст со стандартного ввода, заканчивающийся концом_фай-
               ла или строкой,  содержащей точку.  Делать подсказку для
               текста, если возможна интерактивная работа;  см. -I. При
               -i поясняющий текст получается, даже если не задана -t.

       -t-string
               Записать поясняющий текст из строки string в  файл  RCS,
               удалив существующий текст.

       -T      Сохранить время модифицирования в файле RCS, если модифи-
               кация не удаляется. Эта опция может подавлять лишнюю пе-
               рекомпиляцию, вызванную зависимостью некоторой копии ра-
               бочего файла от файла RCS через make(1). Используйте эту
               опцию осторожно; она может подавлять перекомпиляцию, да-
               же когда она нужна, т.е. когда изменение в файле RCS оз-
               начало бы  изменение  в  строках ключевых слов в рабочем
               файле.
       -V      Печатать номер версии RCS.

       -Vn     Эмулировать RCS версии n. См. co(1) для деталей.

       -xsuffixes
               Использовать suffixes  для характеризации файла RCS. См.
               ci(1) для деталей.

       -zzone  Использовать zone как часовой пояс по умолчанию. Эта оп-
               ция бездействует;  она  представлена для совместимости с
               другими командами RCS.

       Должна быть задана минимум одна явная опция для обеспечения сов-

                                - 6 -

       местимости с будущими планируемыми расширениями команды  rcs.

 5. СОВМЕСТИМОСТЬ
       Опция -brev генерирует файл RCS, который не может быть проанали-
       зирован системой RCS версии 3 или ранее.

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

       Используйте rcs -Vn,  чтобы сделать файл RCS приемлемым для  RCS
       версии n  путем  устранения  информации,  которая могла бы "сму-
       тить" версию n.

       RCS версии 5.5 и ранее не поддерживает опцию -x и  требует  суф-
       фикса ,v в имени пути RCS.

 6. ФАЙЛЫ
       rcs имеет доступ к файлам примерно так же, как ci(1), только она
       использует номинального  пользователя для всех видов доступа, не
       записывает рабочий файл или свой директорий и даже не читает ра-
       бочий файл, если не специфицирован номер модификации $.
 7. СРЕДА
       RCSINIT
              опции добавляются к началу списка аргументов, разделенных
              пробелами. См. ci(1) для деталей.

 8. ДИАГНОСТИКА
       Имя пути  RCS и удаляемые модификации пишутся на диагностический
       выход. Статус выхода = 0,  если и только если все операции  были
       успешными.

 9. ИДЕНТИФИКАЦИЯ
       Автор: Walter F. Tichy.
       Manual Page Revision: 5.13; Release Date: 1995/06/05.
       Copyright  (C)  1982,  1988,  1989   Walter F. Tichy.
       Copyright  (C)  1990,  1991,  1992,  1993, 1994, 1995 Paul
       Eggert.


                                - 7 -

 10. СМ. ТАКЖЕ
       rcsintro(1),  co(1),  ci(1),  ident(1),  rcsclean(1),
       rcsdiff(1),  rcsmerge(1),  rlog(1),  rcsfile(5)
       Walter F. Tichy,   RCS--A  System  for  Version  Control,
       Software--Practice  &  Experience  15,   7  (July  1985),
       637-654.

 11. ОШИБКИ
       Катастрофа (например,  развал системы) может принудить RCS оста-
       вить семафорный  файл,  что  приведет  позднее к вызовам RCS для
       подтверждения того,  что файл RCS используется. Для  исправления
       этого удалите семафорный файл.  Имя семафорного файла обычно на-
       чинается с `,' или кончается на ` _'.

       Разделитель для диапазонов модификаций в опции -o должен бы быть
       - вместо :,  но это ведет к путанице,  когда символические имена
       содержат -.  Для обратной совместимости rcs -o еще  поддерживает
       старый разделитель  -  ,  но она предупреждает об этом устарелом
       употреблении.
       Символические имена не обязаны ссылаться на существующие модифи-
       кации или  ветви.  Например,  опция  -o не удаляет символические
       имена для устраненных модификаций; надо использовать -n для уда-
       ления имен.

rcsintro - введение в команды RCS



С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ОПИСАНИЕ                                                          1
2.1 Функции RCS                                                      1
2.2 Начало работы с RCS                                              2
2.3 Автоматическая идентификация                                     5
3. ИДЕНТИФИКАЦИЯ                                                     6
4. СМ. ТАКЖЕ                                                         6

 1. ИМЯ
       rcsintro - введение в команды RCS

 2. ОПИСАНИЕ
       Revision Control  System  (RCS) управляет множественными модифи-
       кациями файлов. RCS автоматизирует хранение, поиск, регистрацию,
       идентификацию и слияние файлов. RCS полезна для текста, когда он
       часто пересматривается (модифицируется), например, для программ,
       документации, графики, деловых бумаг и писем.

       Базовый пользовательский  интерфейс  крайне прост.  Новичку надо
       выучить только две команды:  ci(1) и co(1).  ci,  сокращение для
       "check in"  (оформленный ввод),  помещает содержимое файла в ар-
       хивный файл,  называемый файлом RCS. Файл содержит все модифика-
       ции (revisions)  конкретного  файла.  co,  сокращение для "check
       out" (оформленный вывод), ищет модификации из файла  RCS.

  2.1 Функции RCS

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

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

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

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

       -   Управлять выпусками (releases) и  конфигурациями. Модифика-
           циям можно присваивать символические имена,  и их можно мар-
           кировать  как  выпускаемые,  стабильные,  экспериментальные
           и т.д. С учетом этих возможностей конфигурации модулей могут
           быть описаны просто и прямо.

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

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

 2.2 Начало работы с RCS
       Пусть у  вас  есть  файл  f.c,  который  вы хотите поставить под
       управление RCS. Если вы еще не сделали этого, то создайте дирек-
       торий RCS командой
           mkdir  RCS

       а затем вызовите команду оформленного ввода


                                - 3 -

           ci  f.c

       Эта команда  создает файл RCS в директории RCS,  сохраняет f.c в
       нем как модификацию 1.1 и удаляет f.c.  Она также запрашивает  у
       вас описание.  Описание  должно  быть форматом содержания файла.
       Все позднейшие команды оформленного ввода  будут  запрашивать  у
       вас ввод  регистрации,  которая должна суммировать  производимые
       вами изменения.

       Файлы в директории RCS называются файлами RCS; другие называются
       рабочими файлами.  Для возвращения рабочего файла f.c в предыду-
       щем примере используйте команду оформленного вывода

           co  f.c

       Эта команда извлекает самую позднюю модификацию из файла  RCS  и
       пишет ее в f.c. Если вы хотите редактировать f.c, то надо блоки-
       ровать его при его оформленном выводе командой

           co  -l  f.c

       Теперь вы можете редактировать f.c.

       Пусть после редактирования вы хотите знать сделанные вами  изме-
       нения. Команда

           rcsdiff  f.c

       укажет вам  различия  между  самой  поздней оформленно введенной
       версией и рабочим файлом. Вы можете оформленно ввести файл, выз-
       вав
           ci  f.c

       Это должным образом дает приращение номеру модификации.

       Если ci выдает сообщение

           ci error: no lock set by your name

                                - 4 -

       то это значит, что вы пытались оформленно ввести файл, не блоки-
       ровав его при оформленном выводе.  Конечно,  уже  поздно  делать
       оформленный вывод с блокировкой,  так как другой оформленный вы-
       вод перезапишет ваши модифицирования. Вместо этого вызовите

           rcs  -l  f.c

       Эта команда заблокирует для вас самую позднюю  модификацию, если
       кто-то другой не сделал этого до вас. В этом случае вам придется
       вести переговоры с этой личностью.

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

       Если ваш файл RCS - личный (private),  т.е. если вы - единствен-
       ный человек,  собирающийся помещать модификации в него, то стро-
       гая  блокировка  не  необходима  и вы можете выключить ее.  Если
       строгая блокировка выключена,  то владельцу файла RCS  не  нужна
       блокировка для оформленного ввода;  всем другим нужна. Включение
       и выключение блокирования производится командами
           rcs  -U  f.c    и    rcs  -L  f.c

       Если вы не хотите переполнять  ваш  рабочий  директорий  файлами
       RCS, то  создайте поддиректорий с именем RCS в вашем рабочем ди-
       ректории и перепишите туда все ваши рабочие файлы.  Команды  RCS
       заглянут в поисках нужных файлов прежде всего в этот директорий.
       Все команды,  приведенные выше, будут здесь работать без всякого
       модифицирования. (Реально пары файлов RCS и рабочих файлов могут
       специфицироваться тремя способами:  (a) заданы  оба,  (b)  задан
       только рабочий  файл,  (c) задан только файл RCS.  И файлы RCS и
       рабочие файлы могут иметь произвольные путевые префиксы; команды
       RCS спаривают их разумно.)


                                - 5 -

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

           ci  -l  f.c    или    ci  -u  f.c

       Эти команды оформленно вводят f.c как обычно, но совершают неяв-
       ный оформленный  вывод.  Первая форма также блокирует оформленно
       вводимую модификацию,  а вторая нет.  Таким образом,  эти  опции
       экономят вам одну операцию оформленного вывода. Первая форма по-
       лезна при желании продолжить редактирование,  вторая - при жела-
       нии  только  читать файл.  Обе обновляют маркеры идентификации в
       вашем рабочем файле (см. ниже).

       Вы можете дать ci любой номер,  присваиваемый оформленно вводи-
       мой модификации.  Пусть  все ваши модификации пронумерованы 1.1,
       1.2, 1.3 и т.д. и вы хотели бы начать выпуск 2. Команда

           ci  -r2  f.c   или   ci  -r2.1  f.c

       присвоит номер 2.1 новой модификации. С этого места ci будет ну-
       меровать последующие модификации 2.2, 2.3 и т.д. Соответствующие
       команды co
           co  -r2  f.c   и   co  -r2.1  f.c

       ищут самую позднюю модификацию с номером 2.x и  модификацию  2.1
       соответственно. co без номера модификации выбирает самую позднюю
       модификацию на стволе,  т.е. наивысшую  модификацию  с  номером,
       состоящим из  двух полей.  Номера с более чем двумя полями нужны
       для ветвей. Например, для начала ветви с модификации 1.3 вызови-
       те
           ci  -r1.3.1  f.c

       Эта команда  начинает  ветвь  с  номером  1 от модификации 1.3 и
       присваивает номер 1.3.1.1 новой модификации.  Для большей инфор-
       мации о ветвях см. rcsfile(5).

 2.3 Автоматическая идентификация
       RCS может вставлять специальные строки (цепочки) для идентифика-

                                - 6 -

       ции в  ваш  исходный текст и объектный код.  Для получения такой
       идентификации поместите маркер

           $Id$

       в ваш текст,  например,  в комментарий.  RCS заменит этот маркер
       строкой в форме

           $Id:  filename  revision  date  time  author  state
           $

       С таким маркером на первой странице каждого модуля вы всегда мо-
       жете видеть,  с которой модификацией вы работаете. RCS поддержи-
       вает маркеры для дат автоматически. Для помещения маркеров в ваш
       объектный код просто вставляйте их в символьные строки.  В языке
       C это делается так:
           static char rcsid[] = "$Id$";

       Команда ident извлекает такие маркеры из любого файла,  даже  из
       объектного кода и дампов.  Таким образом,  ident позволяет нахо-
       дить, какие модификации  каких  модулей  использованы  в  данной
       программе.

       Может быть  полезно   также  вставить  маркер  $Log$ в ваш текст
       внутри комментария.  Такой маркер собирает регистрационные сооб-
       щения, которые  затребуются  во время оформленного ввода.  Таким
       образом, вы можете поддерживать полную историю вашего файла пря-
       мо внутри него.  Есть несколько дополнительных идентификационных
       маркеров; см. co(1) для деталей.

 3. ИДЕНТИФИКАЦИЯ
       Автор: Walter F. Tichy.
       Manual Page Revision: 5.3; Release Date: 1993/11/03.
       Copyright  (C)  1982,  1988,  1989  Walter F. Tichy.
       Copyright  (C)  1990,  1991,  1992,  1993, Paul Eggert.

 4. СМ. ТАКЖЕ
       rcsintro(1),  co(1),  ci(1),  ident(1),  rcsclean(1),
       rcsdiff(1),  rcsmerge(1),  rlog(1),  rcsfile(5)
       Walter F. Tichy,   RCS--A  System  for  Version  Control,
       Software--Practice  &  Experience  15,   7  (July  1985),
       637-654.

co - оформленный вывод модификаций RCS





С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ОПЦИИ                                                             2
5. ПОДСТАНОВКА КЛЮЧЕВЫХ СЛОВ                                         8
6. ФАЙЛОВЫЕ РЕЖИМЫ                                                  10
7. ФАЙЛЫ                                                            10
8. СРЕДА                                                            11
9. ДИАГНОСТИКА                                                      11
10. ИДЕНТИФИКАЦИЯ                                                   11
11. СМ. ТАКЖЕ                                                       11
12. ОГРАНИЧЕНИЯ                                                     11

 1. ИМЯ
      co - оформленный вывод (checkout) модификаций (revisions) RCS

 2. ФОРМАТ
      co [options] file...

 3. ОПИСАНИЕ
      co ищет модификацию в каждом файле RCS и направляет ее для сохра-
      нения в соответствующий рабочий файл file.

      Имена путей,  соответствующие  суффиксу RCS,  означают файлы RCS;
      все другие означают рабочие файлы. Имена спарены, как объяснено в
      ci(1).

      Модификации файла  RCS могут быть оформленно выведены блокирован-
      ными или неблокированными. Блокирование модификации предотвращает
      перекрытие обновлений.  Модификация,  оформленно  выведенная  для
      чтения или обработки (например,  для компиляции),  не нуждается в
      блокировании. Модификацию, оформленно выведенную для редактирова-
      ния и позднейшего оформленного ввода,  в норме надо  блокировать.
      Оформленный вывод  (checkout)  с  блокированием не удается,  если
      оформленно выводимая модификация в этот момент блокирована другим
      пользователем. (Блокировка  может быть нарушена с помощью rcs(1).)
      Оформленный вывод с блокированием также требует,  чтобы пользова-
      тель числился  в  списке  доступа файла RCS,  если он не владелец
      файла или не привилегированный пользователь и этот список непуст.
      Оформленный вывод  без  блокирования  не  подвержен  ограничениям
      списка доступа, и на него не влияет наличие блокировок.
      Модификация выбирается при помощи опций  для  номера  модификации
      или ветви,  даты/времени оформленного ввода (checkin), автора или
      состояния. Когда опции для выбора применяются в комбинации, то co
      ищет самую позднюю модификацию,  удовлетворяющую им всем. Если ни
      одна из опций выбора не специфицирована, то co ищет самую позднюю
      модификацию на ветви по умолчанию (в норме на стволе, см. опцию
      -b в rcs(1).  Номер модификации или ветви может быть приписан лю-
      бой из опций -f,  -I, -l, -M, -p, -q, -r или -u. Опции -d (дата),
      -s (состояние) и -w (автор) ищутся из  одной  (выбранной)  ветви,

                                - 2 -

      которая или специфицирована одной из опций -f,...,-u или является
      ветвью по умолчанию.

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

 4. ОПЦИИ
      -r[rev]
             ищет самую позднюю модификацию, чей номер меньше или равен
             rev. Если rev указывает на ветвь,  а не на модификацию, то
             ищется самая поздняя модификация на этой ветви.  Если  rev
             опущена, то  ищется  самая поздняя модификация на ветви по
             умолчанию (см. опцию -b в rcs(1)). Если rev = $, то co оп-
             ределяет номер модификации из значений ключевых слов в ра-
             бочем файле.  Иначе модификация составляется из одного или
             более числовых или символьных полей,  разделенных точками.
             Если rev начинается с точки,  то ветвь  по  умолчанию  (в
             норме ствол)  прибавляется  к ее началу.  Если rev - номер
             ветви с последующей точкой,  то используется самая поздняя
             модификация на этой ветви. Численный эквивалент символьно-
             го поля специфицируется  с  опцией  -n  команд  ci(1)  или
             rcs(1).

      -l[rev]
             то же, что -r, за исключением того, что она также блокиру-
             ет искомую модификацию для пользователя.
      -u[rev]
             то же,  что -r,  за исключением того, что она разблокирует
             искомую модификацию,  если  она блокирована пользователем.
             Если rev опущена,  то -u  ищет  модификацию,блокированную
             пользователем, если такая есть; иначе она ищет самую позд-
             нюю модификацию на ветви по умолчанию.

      -f[rev]
             вызывает перезапись рабочего файла; полезна в соединении с
             -q. См. также ФАЙЛОВЫЕ РЕЖИМЫ ниже.


                                - 3 -

      -kkv   Генерирует строки ключевых слов,  используя форму по умол-
             чанию, например, $Revision: 5.13  $  для  ключевого  слова
             Revision. Имя блокиратора вставляется в заголовок, Id, и в
             ключевые строки  блокиратора только когда файл блокирует-
             ся, т.е. при помощи ci -l и co -l. Это - по умолчанию.

      -kkvl  Подобна kkv, за исключением того, что имя блокиратора все-
             гда вставляется,  если  данная  модификация  в этот момент
             блокирована.

      -kk    Генерирует только имена ключевых слов  в строках ключевых
             слов; опускает их значения.  См. ниже ПОДСТАНОВКА КЛЮЧЕВЫХ
             СЛОВ. Например,  для ключевого слова  Revision  генерирует
             строку $Revision$ вместо $Revision:  5.13 $. Эта опция по-
             лезна для игнорирования различий из-за подстановки  ключе-
             вых слов  при сравнении различных модификаций файла.  Жур-
             нальные записи вставляются после ключевых слов $Log$, даже
             если специфицирована  -kk,  так как это более полезно при
             слиянии изменений.

      -ko    Генерирует старую строку ключевых слов, присутствовавшую в
             рабочем файле перед его оформленным вводом.  Например, для
             ключевого слова Revision генерирует строку  $Revision: 1.1
             $ вместо $Revision:  5.13 $,  если это - содержимое строки
             перед оформленным вводом файла.  Это может  быть  полезным
             для  форматов файла, которые не переносят изменений в под-
             строках, которые могут принять форму ключевых строк.
      -kb    Генерирует двоичный образ старой строки ключевых слов. Она
             действует как -ko,  за исключением того, что она совершает
             все вводы и выводы рабочего файла в двоичном  режиме.  Это
             создает некоторое различие на машинах Posix и Unix,  но на
             машинах типа DOS надо использовать rcs -i -kb для  инициа-
             лизации файла RCS,  предназначенного для использования как
             двоичный файл. К тому же на всех машинах rcsmerge(1) отка-
             зывается сливать файлы при действующей -kb.

      -kv    Генерирует только значения ключевых слов для строк ключевых
             слов. Например,  для ключевого слова  Revision  генерирует

                                - 4 -

             строку 5.13 вместо $Revision: 5.13 $. Это может помочь ге-
             нерировать файлы на  языках  программирования,  в  которых
             трудно оторвать   ограничители   ключевых  слов  наподобие
             $Revision: $ от строки. Однако дальнейшая подстановка клю-
             чевых слов не может выполняться, если удалены имена ключе-
             вых слов,  так что эту опцию надо использовать  осторожно.
             Из-за такой опасности потери ключевых слов эту опцию нель-
             зя комбинировать с -l,  и право доступа владельца рабочего
             файла на запись выключается; для более позднего редактиро-
             вания файла оформленно выведите его снова без -kv.

      -p[rev]
             печатает найденную модификацию rev на стандартном выходе,
             а не сохраняет ее в рабочем файле. Эта опция полезна, ког-
             да  co - часть выходного канала.

      -q[rev]
             "молчаливый" режим; диагностика не печатается.

      -I[rev]
             интерактивный режим; пользователя приглашают и задают воп-
             росы, если стандартный вход - не терминал.
      -ddate ищет  самую  позднюю  модификацию  на   выбранной   ветви,
             дата/время оформленного  ввода  которой  меньше  или равно
             date. Дату и время можно задавать в свободном формате. Ча-
             совой пояс LT обозначает местное время; другие общие имена
             часовых поясов понятны.  Например,  следующие даты эквива-
             лентны, если местное время - 11 января 1990 г., 8pm (8 ча-
             сов вечера) Тихоокеанского Стандартного Времени,  на 8 ча-
             сов к западу от Координированного Всемирного Времени (КВВ):

                  8:00 pm 1t
                  4:00 AM, Jan. 12, 1990            КВВ по умолчанию
                  1990-01-12 04:00:00+00            ISO 8601 (КВВ)
                  1990-01-11 20:00:00-08            ISO 8601
                                                      (местное время)
                  1990/01/12 04:00:00               традиционный формат
                                                      RCS

                                - 5 -

                  Thu Jan 11 20:00:00 1990 LT       выход ctime(3) +LT
                  Thu Jan 11 20:00:00 PST 1990      выход date(1)
                  Fri Jan 12 04:00:00 GMT 1990
                  Thu, 11 Jan 1990 20:00:00 -0800   Internet RFC 822
                  12-January-1990, 04:00 WET

             Большинство полей   в  дате  и  времени  можно  давать  по
             умолчанию. Часовой пояс по умолчанию - в норме КВВ, но это
             можно перезаписать опцией -z.  Другие умолчания определены
             в порядке - год,  месяц,  день,  час, минуты и секунды (от
             большего к меньшему значащему).  Должно быть предусмотрено
             по крайней мере одно из этих полей.  Для пропущенных полей
             более высокой значимости,  чем наивысшее оставленное поле,
             предполагаются текущие значения часового пояса.  Для всех
             других опущенных полей предполагаются наименьшие возможные
             значения. Например, без -z дата 20, 10:30 соответствует по
             умолчанию 10:30:00 КВВ 20-го текущего месяца и года  часо-
             вого пояса КВВ.  Дату/время надо взять в кавычки, если там
             есть пробелы.
      -M[rev]
             устанавливает на новом рабочем файле  время  модифицирова-
             ния, равное дате искомой модификации rev.  Используйте эту
             опцию осторожно; она может нарушить make(1).

      -sstate
             ищет самую  позднюю  модификацию  на выбранной ветви,  чье
             состояние установлено на state.

      -T     Сохраняет время модифицирования в файле RCS, даже если файл
             RCS изменяется  из-за  добавления или удаления блокировки.
             Эта опция может подавлять лишнюю перекомпиляцию, вызванную
             зависимостью какой-то  копии  рабочего  файла от файла RCS
             через make(1).  Используйте эту опцию осторожно; она может
             подавить перекомпиляцию даже при  ее  необходимости,  т.е.
             когда  изменение  блокировки  будет  означать  изменение в
             строках ключевых слов в другом рабочем файле.

      -w[login]

                                - 6 -

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

      -jjoinlist
             генерирует новую модификацию, которая есть объединение мо-
             дификаций в списке joinlist. Эта опция значительно устаре-
             ла после введения rcsmerge(1),  но оставлена для  обратной
             совместимости.

             joinlist - разделенный запятыми список пар форм rev2:rev3,
             где rev2 и rev3 - (символьные или численные) номера  моди-
             фикаций. Для  такой начальной пары rev1 означает модифика-
             цию, выбираемую вышеописанными опциями -f,...,-w. Для всех
             других пар  rev1  означает  модификацию,  сгенерированную
             предыдущей парой.  (Таким образом, выход одного соединения
             становится входом для следующего.)
             Для каждой  пары  co  соединяет модификации rev1 и rev3 по
             отношению к rev2.  Это означает, что все изменения, кото-
             рые преобразуют  rev2  в  rev1,  применяются к копии rev3.
             Это, в частности,  полезно,  если rev1 и rev3 - концы двух
             ветвей, имеющих rev2 общим предком. Если rev1

ci - оформленный ввод модификаций RCS





С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ОПЦИИ                                                             3
5. ИМЕНОВАНИЕ ФАЙЛОВ                                                 8
6. ПРИМЕРЫ                                                           9
7. ФАЙЛОВЫЕ РЕЖИМЫ                                                   9
8. ФАЙЛЫ                                                             9
9. ИСПОЛЬЗОВАНИЕ УСТАНОВКИ ИДЕНТИФИКАТОРОВ ПОЛЬЗОВАТЕЛЯ (УИП)       10
10. СРЕДА                                                           12
11. ДИАГНОСТИКА                                                     13
12. ИДЕНТИФИКАЦИЯ                                                   13            

 1. ИМЯ
      ci - оформленный ввод модификаций RCS

 2. ФОРМАТ
      ci [options] file...

 3. ОПИСАНИЕ
      ci сохраняет новые модификации в файлах RCS. Каждое имя пути, под-
      ходящее для суффикса RCS, принимается за RCS-файл. Предполагается,
      что все другие - это рабочие файлы,  содержащие новые модификации.
      Если задан только рабочий файл, то ci пытается найти соответствую-
      щий файл RCS в поддиректории RCS и  затем  в  директории  рабочего
      файла. Для дальнейших деталей см. ниже ИМЕНОВАНИЕ ФАЙЛОВ.

      Для запуска  ci  регистрационное  имя  пользователя должно быть в
      списке доступа,  за исключением случаев,  когда этот список  пуст
      или пользователь - привилегированный или владелец файла.  Для до-
      бавления новой модификации к существующей ветви оконечная модифи-
      кация  на этой ветви должна быть блокирована пользователем. Иначе
      может быть только создана новая ветвь.  Это ограничение не накла-
      дывается на владельца файла, если используется нестрогое блокиро-
      вание (см.  rcs(1)).  Блокировка, наложенная кем-то другим, может
      быть нарушена командой rcs.

      Если не задана опция -f, то ci проверяет, отличается ли размещае-
      мая модификация от предшествующей.  Если нет,  то вместо создания
      новой модификации ci обращается к предшествующей.  Для такого об-
      ращения обычная rcs удаляет рабочий файл и любую блокировку;
      ci -l сохраняет,  а ci -u устраняет любую блокировку, и затем они
      обе генерируют новый рабочий файл,  как если бы co -l или  co  -u
      были применены к предшествующей модификации.  При обращении любые
      опции -n и -s применяются к предшествующей модификации.
      Для каждой помещенной модификации ci запрашивает запись в  журна-
      ле.  Запись в журнале должна суммировать изменения и должна окан-
      чиваться символом конец_файла или строкой, содержащей в себе точ-
      ку.  Если оформлено введены несколько файлов, то ci запрашивает,
      использовать ли вновь предыдущую запись в журнале. Если стандарт-

                                - 2 -

      ный вход - не терминал,  то ci подавляет запрос и использует одну
      и ту же запись в журнале для всех файлов. См. также -m.

      Если файл RCS не существует,  то ci создает его и размещает содер-
      жимое рабочего  файла  как начальную модификацию (номер по умолча-
      нию: 1.1). Список доступа инициализируется как пустой. Вместо за-
      писи в журнале ci затребует поясняющий текст (см. ниже -t).

      Номер rev  размещаемой модификации может быть задан одной из опций
      -f, -i, -I, -j, -k, -l, -M, -q, -r или -u. rev может быть символь-
      ным, численным или смешанным. Символические имена в rev уже должны
      быть определены;  см.  опции -n  и  -N  для  присвоения  имен  при
      checkin'е. Если rev = $, то ci определяет номер модификации из зна-
      чений ключевых слов в рабочем файле.

      Если rev начинается с точки, то эта модификация "насаживается" на
      ветвь  по  умолчанию  (в норме на ствол).Если rev - номер ветви с
      точкой на конце,  то используется самая  поздняя  модификация  на
      этой ветви.

      Если rev - номер модификации,  то он должен быть выше,  чем самая
      поздняя модификация на ветви,  к которой принадлежит rev,  или  с
      него должна начаться новая ветвь.

      Если rev - это ветвь,  а не номер модификации, то новая модифика-
      ция добавляется к этой ветви. Номер уровня получается прибавлением
      номера самой "верхней" модификации на этой ветви. Если rev указы-
      вает на  несуществующую  ветвь,  то  такая  ветвь   создается   с
      начальной модификацией с номером rev.1.
      Если rev  опущена,  то ci пробует вывести номер новой модификации
      из последней блокировки пользователя. Если пользователь блокирует
      самую верхнюю модификацию ветви, то новая модификация добавляется
      к этой ветви. Номер новой модификации получается прибавлением но-
      мера самой  верхней  модификации. Если  пользователь блокировал не
      самую верхнюю модификацию,  то начинается новая ветвь от этой мо-
      дификации прибавлением номера наивысшей ветви к этой модификации.
      По умолчанию начальная ветвь и номера уровней суть 1.


                                - 3 -

      Если rev опущена и пользователь не имеет "замка",  но  владеет
      файлом и  блокирование не установлено на строгое,  то модификация
      добавляется к началу ветви по умолчанию (в норме  к  стволу;  см.
      опцию -b в rcs(1)).

      Исключение: на  стволе  модификации  добавляются  к  концу,  а не
      вставляются.

 4. ОПЦИИ
      -rrev  Оформлено вывести модификацию rev

      -r     Чистая опция -r (без какой-либо модификации)  имеет  нео-
             бычное значение в ci. С другими командами RCS чистая опция
             -r специфицирует самую позднюю  модификацию  на  ветви  по
             умолчанию, но с ci чистая опция -r переустанавливает пове-
             дение по умолчанию освобождения "замка" и удаления рабоче-
             го  файла и используется для перезаписи любой опции -l или
             -u, устанавливаемой псевдонимами  (aliases)  оболочки  или
             командными файлами.

      -l[rev]
             работает как  -r,  за исключением того,  что она совершает
             дополнительно co -l для сохраненной модификации. Таким об-
             разом сохраненная  модификация снова немедленно оформленно
             выводится и блокируется.  Это полезно для сохранения моди-
             фикации, хотя  иногда желательно продолжать редактирование
             после оформленного ввода.
      -u[rev]
             работает как -l, за исключением того, что сохраненная моди-
             фикация не блокируется.  Это позволяет читать рабочий файл
             непосредственно после checkin.

             Опции -l, чистая -r и -u взаимоисключающие и незаметно пе-
             резаписывают (перекрывают) друг друга.  Например, ci -u -r
             эквивалентно ci -r, так как чистая -r перекрывает -u.


                                - 4 -

      -f[rev]
             выполняет копирование во внешнюю память; новая модификация
             копируется, даже если она не отличается от предшествующей.

      -k[rev]
             ищет рабочий файл для значений ключевых слов, чтобы опре-
             делить номер его модификации,  дату создания, состояние и
             автора (см.  co(1)) и присваивает эти значения сохраненной
             модификации, а не вычисляет их локально. Она также генери-
             рует регистрационное сообщение по  умолчанию,  выполняющее
             регистрацию пользователя,  и действительную дату оформлен-
             ного ввода. Эта опция полезна для готового продукта. Моди-
             фикация,  которая  устанавливается  на нескольких машинах,
             должна быть оформленно введена на этих машинах с опцией -k
             для сохранения первоначальных номера,  даты, автора и сос-
             тояния. Извлеченные значения ключевых слов и регистрацион-
             ное  сообщение  по  умолчанию могут быть перекрыты опциями
             -d, -m, -s, -w и любой опцией, которая содержит номер мо-
             дификации.

      -q[rev]
             "молчаливый" режим;  диагностический выход не печатается.
             Модификация, которая  не отличается от предшествующей,  не
             копируется во внешнюю память, если не задана -f.

      -i[rev]
             первоначальный checkin; сообщить об ошибке, если файл RCS
             уже существует. Это исключает состязания (гонки) в некото-
             рых приложениях.
      -j[rev]
             только оформленно ввести и не  инициализировать; сообщить
             об ошибке, если файл RCS не существует.

      -I[rev]
             интерактивный режим;  пользователю подсказывают и  задают
             вопросы, даже если стандартный вход - не терминал.

      -d[date]

                                - 5 -

             использует date как дату и время оформленного ввода. Дата
             специфицируется  в  свободном  формате,  как  объяснено  в
             co(1). Это полезно для подмены даты оформленного  ввода  и
             для -k,  если дата недоступна. Если date пуста, то исполь-
             зуется время последнего модифицирования рабочего файла.

      -M[rev]
             устанавливает время модифицирования любого нового рабоче-
             го файла по дате искомой модификации rev. Например, ci -d
             -M -u f не изменяет время модифицирования для f, даже если
             содержимое f  изменяется  из-за подстановки ключевых слов.
             Используйте эту  опцию  осторожно;  она   может   нарушить
             make(1).

      -mmsg  использует  строку msg как запись в журнале для всех оформ-
             ленно введенных модификаций. По условию журнальные записи,
             начинающиеся с  #,  являются  комментариями и игнорируются
             программами вроде пакета GNU Emacs's  vc.  Вдобавок,  жур-
             нальные записи, начинающиеся с {clumpname} (групповое имя)
             (с пробелами после них),  будут собраны вместе при возмож-
             ности,  даже  если они ассоциируются с различными файлами;
             {clumpname} используется только для сборки и  не считается
             частью самой журнальной записи.

      -nname присваивает  символическое имя name номеру оформленно вве-
             денной модификации.  ci сообщает об ошибке,  если name уже
             присвоено другому номеру.
      -Nname то  же,  что  -n за исключением того,  что она перекрывает
             предыдущее присвоение name.

      -sstate
             устанавливает состояние  оформленно введенной модификации
             для идентификатора state. Состояние по умолчанию - Exp.

      -tfile записывает поясняющий текст из  названного  файла  file  в
             файл RCS,  убирая существующий текст.  file не может начи-
             наться с -.


                                - 6 -

      -t-string
             записывает поясняющий  текст из строки string в файл RCS,
             убирая существующий текст.

             Опция -t в обеих ее формах имеет действие только во время
             начального оформленного ввода; иначе она незаметно игнори-
             руется.

             Во время начального оформленного ввода,  если -t не зада-
             на, ci    получает    текст    со    стандартного   ввода,
             оканчивающийся символом конец_файла или строкой,  содержа-
             щей точку. Пользователь приглашается ко вводу текста, если
             возможна интерактивная работа; см. -I.

             Для обратной совместимости со старыми версиями RCS чистая
             опция -t игнорируется.
      -T     устанавливает  время  модифицирования файла RCS на время
             новой модификации,  если прежняя предшествует последней  и
             есть новая модификация;  иначе сохраняет время модификации
             файла RCS. Если вы заблокировали модификацию, то ci обычно
             обновляет время  модификации  файла  RCS на текущее время,
             так как блокировка сохраняется в файле  RCS  и  устранение
             блокировки требует изменения файла RCS.  Так можно создать
             файл RCS новее, чем рабочий файл. одним из двух способов:
             (1) ci  -M  может создать рабочий файл с датой до текущего
             времени; (2) при обращении к предыдущей  модификации  файл
             RCS может измениться, тогда как рабочий файл останется не-
             изменным. Эти два случая могут вызвать лишнюю перекомпиля-
             цию, вызванную  зависимостью  рабочего  файла от RCS файла
             через make(1). Опция -T запрещает такую перекомпиляцию пу-
             тем подмены даты файла RCS. Используйте эту опцию осторож-
             но;  она может подавить перекомпиляцию,  даже когда оформ-
             ленный ввод одного рабочего файла должен воздействовать на
             другой рабочий файл,  ассоциированный с тем же файлом RCS.
             Предположим, что время файла RCS - 01:00, время измененно-
             го рабочего файла -02:00, какая-то еще копия рабочего фай-
             ла имеет время 03:00, а текущее время - 04:00. Тогда ci -d
             -T  устанавливает время файла RCS на 02:00 вместо обычного

                                - 7 -

             04:00;  это заставляет make(1) думать  (неправильно),  что
             последняя копия новее, чем файл RCS.

      -wlogin
             использует login  как  поле автора помещаемой модификации.
             Полезна для  подмены поля автора и для -k,  если автор не-
             доступен.
      -V     Печатает номер версии RCS.

      -Vn    Эмулирует RCS версии n. См. co(1) для деталей.

      -xsuffixes
             специфицирует суффиксы suffixes для файлов  RCS.  Непустой
             суффикс соответствует  любому имени пути,  оканчивающемуся
             на этот суффикс. Пустой суффикс соответствует любому имени
             пути в форме RCS/путь или путь1/RCS/путь2.  Опция -x может
             специфицировать список суффиксов, разделенных /. Например,
             -x,v/ специфицирует два суффикса: ,v и пустой суффикс. Ес-
             ли специфицируются два или более суффикса, то они рассмат-
             риваются по порядку при просмотре файла RCS; первый срабо-
             тавший используется для  этого  файла.  Если  не  найдено
             файла RCS,  но  файл  RCS  может быть создан,  то суффиксы
             рассматриваются для определения имени  нового  файла  RCS.
             Умолчание для  суффиксов зависимо от инсталляции;  в норме
             это ,v/ для машин типа Unix,  которые позволяют запятые  в
             именах файлов, и пустой суффикс для других машин.

      -zzone специфицирует  выходной формат даты в подстановке ключевых
             слов и часовой пояс по умолчанию для даты в  опции -ddate.
             zone должна быть или пустой,  или численным смещением КВВ,
             или специальной строкой LT для местного времени. Умолчание
             - пустой  пояс,  который использует традиционный RCS-формат
             для КВВ без указания на часовой пояс и со слэшами,  разде-
             ляющими части даты;  иначе времена выводятся в формате ISO
             8601 с указанием часового пояса.  Например,  если  местное
             время - 11 января 1990 г., 8pm (8 часов вечера) Тихоокеан-
             ского Стандартного Времени,  восемь часов к западу от КВВ,
             то выход времени будет такой:

                                - 8 -

                  опция      выход времени
                  -z         1990/01/12 04:00:00      (умолчание)
                  -zLT       1990-01-11 20:00:00-08
                  -z+05:30   1990-01-12 09:30:00+05:30
             Опция -z не воздействует на даты,  хранимые в файлах  RCS,
             которые всегда КВВ.

 5. ИМЕНОВАНИЕ ФАЙЛОВ
      Пары файлов RCS и рабочих файлов могут быть специфицированы тремя
      способами (см. также раздел примеров).

      1) Даны и файл RCS и рабочий файл. Имя пути RCS имеет форму
      путь1/раб_файлX, а    рабочее    имя     пути     имеет     форму
      путь2/раб_файл,где путь1/  и  путь2/  - (возможно,  различные или
      пустые) пути,  раб_файл - имя файла,  а X - RCS-суффикс.  Если  X
      пусто, то путь1/ должен начинаться с RCS/ или должен содержать
      /RCS/.

      2) Дан только файл RCS. Рабочий файл создается в текущем директо-
      рии и  его  имя  выводится  из имени файла RCS удалением путь1/ и
      суффикса X.

      3) Дан  только  рабочий  файл.  Тогда  ci  рассматривает   каждый
      RCS-суффикс X по очереди, ища файл RCS в форме путь2/RCS/раб_файл
      или (если прежний не найден и X непусто)  путь2/раб_файлX.

      Если файл RCS специфицирован без пути в 1) и 2),  то ci ищет файл
      RCS первый в директории ./RCS и затем в текущем директории.

      ci сообщает  об ошибке,  если попытка открыть файл RCS не удается
      по необычной причине,  даже если имя пути файла RCS - это  только
      одна из  нескольких возможностей.  Например,  для подавления ис-
      пользования команд RCS в директории d создать регулярный  файл  с
      именем d/RCS,  так  чтобы  случайные попытки использовать команды
      RCS в d оканчивались неудачей из-за того, что d/RCS - не директо-
      рий.


                                - 9 -

 6. ПРИМЕРЫ
      Пусть ,v - RCS-суффикс и текущий директорий содержит  поддиректо-
      рий  RCS  с  файлом RCS io.c,v.  Тогда каждая из следующих команд
      оформленно вводит копию io.c в RCS/io.c,v как самую позднюю моди-
      фикацию, удаляя io.c.
              ci  io.c;    ci  RCS/io.c,v;   ci  io.c,v;
              ci  io.c  RCS/io.c,v;    ci  io.c  io.c,v;
              ci  RCS/io.c,v  io.c;    ci  io.c,v  io.c;

      Пусть вместо этого пустой суффикс - это RCS-суффикс и текущий ди-
      ректорий содержит поддиректорий RCS с файлом RCS io.c.  Каждая из
      следующих команд оформленно вводит новую модификацию.

              ci  io.c;    ci  RCS/io.c;
              ci  io.c  RCS/io.c;
              ci  RCS/io.c  io.c;

 7. ФАЙЛОВЫЕ РЕЖИМЫ
      Файл RCS,  созданный ci,  наследует права чтения и исполнения  от
      рабочего файла. Если файл RCS уже существует, то ci сохраняет его
      права на чтение и исполнение.  ci выключает все права записи фай-
      лов RCS.

 8. ФАЙЛЫ
      Временные файлы создаются в директории, содержащем рабочий файл и
      также в рабочем директории (см.TMPDIR в разделе СРЕДА).Семафорный
      файл или файлы создаются в директории, содержащем файл RCS. С не-
      пустым суффиксом  имена  семафоров  начинаются  с первого символа
      суффикса; следовательно,  не специфицируйте суффикс,  чей  первый
      символ может  оказаться  первым символом имени рабочего файла.  С
      пустым суффиксом имена семафоров кончаются на _ ,  так что  имена
      рабочих файлов не должны кончаться на _ .

      ci не изменяет файл RCS или рабочий файл. В норме ci снимает свя-
      зи с файла и создает новый; но вместо разрушения цепочки из одной
      или нескольких связей к файлу RCS она отключает связи к результи-
      рующему файлу. Следовательно, ci разрушает любые жесткие или сим-
      вольные связи  к любому рабочему файлу,  который она изменяет;  и

                                - 10 -

      жесткие связи к файлам RCS являются бездействующими,  но символь-
      ные связи к файлам RCS сохраняются.
      Опытный пользователь должен уметь искать и записывать директорий,
      содержащий файл  RCS.  В  норме обычный пользователь должен уметь
      читать файлы RCS и рабочие файлы и искать и  записывать  директо-
      рий, содержащий  рабочий файл;  однако некоторые старые машины не
      могут легко переключаться между обычным и опытным пользователями,
      так что на этих машинах опытный пользователь имеет доступ ко всем
      возможностям. Опытный пользователь - это то же, что обычный поль-
      зователь, если  ваши  копии ci и co не имеют привилегий установки
      идентификаторов пользователя.  Как описано в  следующем  разделе,
      эти привилегии  создают  повышенную  безопасность,  если  опытный
      пользователь владеет всеми файлами  RCS  и  директориями  и  если
      опытный пользователь может записывать директории RCS.

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

 9. ИСПОЛЬЗОВАНИЕ УСТАНОВКИ ИДЕНТИФИКАТОРОВ ПОЛЬЗОВАТЕЛЯ (УИП)
      Для предотвращения удаления модификаций кем-либо. кроме админист-
      ратора RCS, пользователи могут использовать привилегии УИП следу-
      ющим образом.
      -  Проверить, что машина поддерживает использование УИП RCS. Про-
         консультироваться  с  достойным  доверия экспертом,  если есть
         сомнения.  Лучше всего,  если вызов системы УИП работает,  как
         описано  в Posix 1003.1a Draft 5,  так как RCS может легко пе-
         реключаться между реальным и номинальным пользователями,  даже

                                - 11 -

         если реальный пользователь - это root. Если нет, то лучше, ес-
         ли вызов системы УИП поддерживает сохраненный  УИП  (поведение
         {_POSIX_SAVED_IDS} в Posix 1003.1-1990); это не удается только
         если реальный или номинальный пользователь -  это  root.  Если
         RCS обнаруживает несрабатывание в УИП, то она немедленно выхо-
         дит.

      -  Выбрать пользователя A в качестве администратора RCS для набора
         пользователей. Только  A может вызывать команду rcs на пользо-
         вательских файлах RCS.  A не должен быть root'ом или любым дру-
         гим пользователем   со  специальными  полномочиями.  Множества
         пользователей, взаимно не доверяющие друг другу,  должны  иметь
         разных администраторов.

      -  Выбрать имя пути B для директория файлов,  которые будут испол-
         няться пользователями.

      -  Пользователю A ввести в B копии ci и co,  которые являются УИП
         для A, путем копирования команд из их директория D стандартной
         инсталляции следующим образом:

              mkdir  B
              cp  D/c[io]   B
              chmod  go-w,u+s  B/c[io]

      -  Каждому  пользователю  добавлять  B к началу его пути следующим
         образом:

              PATH=B:$PATH;  export  PATH  # обычная оболочка
              set  path=(B  $path)         # оболочка C

      -  Пользователю A создавать каждый RCS-директорий R с правом запи-
         си только для A следующим образом:
              mkdir  R
              chmod  go-w  R

       - Если вы хотите позволить только некоторым пользователям читать
         файлы RCS, то поместите этих пользователей в группу G, а поль-

                                - 12 -

         зователю A следует далее защищать RCS-директорий следующим об-
         разом:

              chgrp  G  R
              chmod  g-w,o-rwx  R

      -  Пользователю A скопировать старые файлы RCS (если есть) в R
         для обеспечения A правом их владения.

      -  Список доступа файлов RCS ограничивается теми, кто может оформ-
         ленно вводить и блокировать модификации.  По умолчанию  список
         доступа пуст, что дает доступ к оформленному вводу любому, кто
         может читать файлы RCS.  Если вы хотите  ограничить  доступ  к
         оформленному вводу,  то  пользователю A следует вызвать rcs -a
         для файла;  см.  rcs(1).  В частности, rcs -e -aA ограничивает
         доступ только пользователем  A.

      -  Пользователю A инициализировать любой новый файл RCS при помощи
         rcs -i перед начальным оформленным вводом,  добавляя опцию -a,
         если вы хотите ограничить доступ к оформленному вводу.

      -  Дать привилегии УИП только для ci, co и rcsclean; не давать их
         rcs или любой другой команде.

      -  Не использовать другие УИП-команды для вызова команд RCS;  УИП
         более замысловат, чем вы думаете!

 10. СРЕДА
     RCSINIT   Опции добавляются к началу списка аргументов,  разделен-
               ных пробелами.  Обратный слэш позволяет включать пробелы
               в опцию. Опции RCSINIT добавляются к началу списка аргу-
               ментов большинства команд RCS.  Полезные  опции  RCSINIT
               включают -q, -V, -x и -z.
     TMPDIR    Имя временного директория.Если оно не установлено,то тог-
               да проверяются переменные среды TMP  и  TEMP  и  берется
               первое найденное значение;  если они не установлены,  то
               используется машинно-зависимое умолчание, обычно /tmp.
 11. ДИАГНОСТИКА
       Для каждой модификации ci печатает файл RCS, рабочий файл и чис-
       ло сохраненных и предшествующих модификаций.  Статус выхода  = 0,
       если и только если все операции были успешными.
 12. ИДЕНТИФИКАЦИЯ
       Автор: Walter F. Tichy.
       Manual Page Revision: 5.17; Release Date: 1995/06/16.
       Copyright (C) 1982,  1988, 1989 Walter F. Tichy.
       Copyright (C) 1990,  1991,  1992,  1993,  1994,  1995  Paul
       Eggert.

 13. СМ. ТАКЖЕ
       co(1),  emacs(1),  ident(1),  make(1),  rcs(1),  rcsclean(1),
       rcsdiff(1),  rcsintro(1),  rcsmerge(1),  rlog(1),  setuid(2),
       rcsfile(5)
       Walter F. Tichy,  RCS--A  System  for  Version  Control,
       Software--Practice  &  Experience  15,  7  (July  1985),
       637-654.

ident - идентифицировать строки ключевых слов RCS в файлах





С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. КЛЮЧЕВЫЕ СЛОВА                                                    2
5. ИДЕНТИФИКАЦИЯ                                                     3
6. СМ. ТАКЖЕ                                                         3

 1. ИМЯ
      ident - идентифицировать строки (цепочки)  ключевых  слов  RCS
      в файлах.

 2. ФОРМАТ
      ident [ -q ] [ -V ] [ file...]

 3. ОПИСАНИЕ
      ident ищет все экземпляры образца $ключ_слово:  текст $ в назван-
      ных файлах или, если файлы не названы, то стандартный вход.

      Эти образцы в норме вставляются автоматически RCS-командой co(1),
      но их можно вставлять и вручную.  Опция -q подавляет предупрежде-
      ние, выдаваемое, если в файле нет образцов. Опция -v печатает но-
      мер версии ident.

      ident работает на текстовых и объектных файлах и на дампах.  Нап-
      ример, если C-программа в f.c содержит

           #include 
           static char const rcsid[] =
             "$Id: f.c,v 5.4 1993/11/09  17:40:15  eggert Exp
           $";
           int main()  { return printf("%s\n", rcsid) == EOF; }

      а f.c компилируется в f.o, то команда

           ident f.c f.o

      даст выход

           f.c:
               $Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $
           f.o:
               $Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $
      Если C-программа  определяет  строку  наподобие   вышеприведенной
      rcsid, но  не использует ее ,  то lint(1) может объяснить это,  и

                                - 2 -

      некоторые C-компиляторы уберут эту строку для  оптимизации. Самое
      надежное решение - вставить в программу строку rcsid, как показа-
      но в вышеприведенном примере.

      ident находит все образцы $ключ_слово: текст $ образец, даже если
      ключевое слово  не поддерживается RCS.  Это дает вам информацию о
      нестандартных ключевых словах вроде $XConsortium$.

 4. КЛЮЧЕВЫЕ СЛОВА
      Вот список ключевых слов,  ныне поддерживаемых co(1). Все времена
      даны в Координированном Всемирном Времени (КВВ) по  умолчанию, но
      если файлы были оформленно выведены с co-опцией -zzone, то време-
      на даются с добавлением численной индикации часового пояса.

      $Author$
           Регистрационное имя пользователя, который оформленно ввел
           модификацию.

      $Date$
           Дата и время оформленного введения модификации.

      $Header$
           Стандартный заголовок,  содержащий полное  имя  пути  файла
           RCS, номер модификации, дату/время, автора, состояние и бло-
           киратор (если файл заблокирован).

      $Id$
           То же, что $Header$, только имя файла RCS дается без пути.

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

      $Log$
           Журнальная запись, поступающая во время checkin'а. Для целей
           ident это эквивалентно $RCSfile$.
      $Name$
           Символьное имя, используемое для оформленного вывода модифи-

                                - 3 -

           кации, если оно есть.

      $RCSfile$
           Имя файла RCS без пути.

      $Revision$
           Номер, присвоенный модификации.

      $Source$
           Полное имя пути файла RCS.

      $State$
           Состояние, присвоенное модификации опцией -s в rcs(1) или
           ci(1).

      co(1) представляет следующие символы в значениях ключевых строк
      управляющими последовательностями.

             символ      управляющая последовательность
             таб         \t
             нов_стр     \n
             пробел      \040
             $           \044
             \           \\
 5. ИДЕНТИФИКАЦИЯ
       Автор: Walter F. Tichy.
       Manual Page Revision: 5.4; Release Date: 1993/11/09.
       Copyright (C) 1982,  1988, 1989  Walter F. Tichy.
       Copyright (C) 1990,  1992, 1993, Paul Eggert.

 6. СМ. ТАКЖЕ
       ci(1), co(1),rcs(1), rcsdiff(1),  rcsintro(1),
       rcsmerge(1),  rlog(1) ,rcsfile(5)
       Walter F. Tichy,  RCS--A  System  for  Version  Control,
       Software--Practice  &  Experience  15,  7  (July  1985),
       637-654.

rcsdiff - сравнить RCS-модификации




С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ПРИМЕР                                                            2
5. СРЕДА                                                             2
6. ДИАГНОСТИКА                                                       2
7. ИДЕНТИФИКАЦИЯ                                                     2
8. СМ. ТАКЖЕ                                                         2

 1. ИМЯ
      rcsdiff - сравнить RCS-модификации

 2. ФОРМАТ

      rcsdiff [ -ksubst ] [ -q ] [ -rrev1 [ -rrev2 ]] [ -T ] [ -V[n] ]
      [ -xsuffixes ] [ -zzone ] [ diff options ] file....

 3. ОПИСАНИЕ
      rcsdiff исполняет diff(1) для сравнения двух  модификаций каждого
      заданного файла RCS.

      Имена путей,  соответствующие суффиксу RCS, означают имена файлов
      RCS; все другие означают рабочие файлы. Имена спарены, как объяс-
      нено в ci(1).

      Опция -q подавляет диагностический выход.  С опцией -r могут быть
      специфицированы 0, 1 или 2 модификации. Опция -ksubst воздейству-
      ет  на подстановку ключевых слов при извлечении модификаций,  как
      описано в co(1);  например, -kk -r1.1 -r1.2 игнорирует различия в
      значениях  ключевых слов при сравнении модификаций 1.1 и 1.2. Для
      избежания излишнего выхода от подстановки имени блокиратора пред-
      полагается -kkvl,  если (1) дана максимум одна опция модификации,
      (2) не дана опция -k,  (3) -kkv есть подстановка ключевых слов по
      умолчанию  и (4) режим рабочего файла устанавливается co -l.  См.
      co(1) для деталей о -T, -V, -x и -z. В ином случае все опции
      diff(1), применяемые  к регулярным файлам,  принимаются с теми же
      значениями, что у diff.

      Если и rev1 и rerv2 опущены,  то rcsdiff сравнивает самую позднюю
      модификацию на  ветви по умолчанию (по умолчанию на стволе) с со-
      держимым соответствующего рабочего файла. Это полезно для опреде-
      ления того, что вы изменили после последнего оформленного ввода.

      Если rev1 задан,  но rev2 опущен, то rcsdiff сравнивает модифика-
      цию rev1 файла RCS с содержимым соответствующего рабочего файла.
      Если даны и rev1 и rev2, то rcsdiff сравнивает модификации rev1 и

                                - 2 -

      rev2 файла  RCS.

      И rev1 и rev2 могут быть заданы символьно или численно.

 4. ПРИМЕР
      Команда

                rcsdiff f.c

      сравнивает самую последнюю модификацию на ветви по умолчанию фай-
      ла RCS с содержимым рабочего файла f.c.

 5. СРЕДА
      RCSINIT
           опции добавляются  к  началу списка аргументов,  разделенных
           пробелами. См. ci(1) для деталей.

 6. ДИАГНОСТИКА
      Статус выхода = 0, если нет различий при любом сравнении, 1, если
      есть и 2 при ошибке.

 7. ИДЕНТИФИКАЦИЯ
    Автор: Walter F. Tichy.
    Manual Page Revision: 5.5; Release Date: 1993/11/03.
    Copyright  (C)  1982,  1988,  1989  Walter F. Tichy.
    Copyright  (C)  1990,  1991,  1992,  1993  Paul Eggert.

 8. СМ. ТАКЖЕ
    ci(1), co(1), diff(1),  ident(1), rcs(1), rcsintro(1),
    rcsmerge(1),  rlog(1)
    Walter F. Tichy,   RCS--A  System  for  Version  Control,
    Software--Practice  &  Experience  15,   7  (July  1985),
    637-654.

rcsmerge - слить модификации RCS



С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ОПЦИИ                                                             1
5. ПРИМЕРЫ                                                           2
6. СРЕДА                                                             3
7. ДИАГНОСТИКА                                                       3
8. ИДЕНТИФИКАТОР                                                     3
9. СМ. ТАКЖЕ                                                         3

 1. ИМЯ
       rcsmerge - слить модификации RCS.

 2. ФОРМАТ
       rcsmerge [options] file

 3. ОПИСАНИЕ
       rcsmerge включает изменения между двумя модификациями  файла RCS
       в соответствующий рабочий файл.

       Имена путей,  соответствующие суффиксу RCS,  означают файлы RCS;
       все другие означают рабочие файлы.  Имена спарены, как объяснено
       в ci(1).

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

       rcsmerge печатает предупреждение, если есть перекрытия и обстав-
       ляет ограничителями  области   перекрытия,   как   объяснено   в
       merge(1). Эта  команда  полезна для включения изменений в оформ-
       ленно выведенную модификацию.

 4. ОПЦИИ
       -A     Вывести конфликты, используя стиль -A из diff3(1), если
              есть поддержка от diff3. Это сливает все изменения, веду-
              щие от  file2  к file3 в file1 и генерирует наиболее под-
              робный выход.

       -E, -e Эти опции специфицируют конфликтные стили, генерирующие
              меньше информации,  чем  -A.  См.  diff3(1)  для деталей.
              Умолчание - -E. С -e rcsmerge не предупреждает о конфлик-
              тах.

                                - 2 -

       -ksubst
              Использовать стиль subst для подстановки ключевых слов.
              См. co(1) для деталей.  Например, -kk -rl.1 -rl.2 игнори-
              рует различия в значениях ключевых слов при слиянии изме-
              нений от  1.1  до  1.2.  В  норме не имеет смысла сливать
              двоичные файлы как текстовые,  поэтому rcsmerge отказыва-
              ется сливать файлы, если используется расширение -kb.

       -p[rev]
              Послать результат на стандартный выход вместо переписыва-
              ния рабочего файла.

       -q[rev]
              Исполнять "молча"; не печатать диагностику.

       -r[rev]
              Слить по  отношению  к модификации rev.  Здесь пустая rev
              обозначает самую позднюю модификацию на ветви по  умолча-
              нию, в норме на головной.

       -T     Эта опция  бездействует;она  введена для совместимости с
              другими командами RCS.

       -V     Печатать номер версии RCS.

       -Vn    Эмулировать RCS версии n. См. co(1) для деталей.

       -xsuffixes
              Использовать suffixes  для характеризации файлов RCS. См.
              ci(1) для деталей.

       -zzone Использовать zone как часовой пояс для подстановки ключе-
              вых слов. См. co(1) для деталей.
 5. ПРИМЕРЫ
       Пусть вы выпускаете модификацию 2.8 файла f.c. Пусть далее после
       вашего завершения невыпущенной модификации 3.4 вы принимаете об-
       новления в выпуск 2.8 от кого-то еще. Для комбинации этих обнов-
       лений в  2.8 и ваших изменений между 2.8 и 3.4 вставьте обновле-

                                - 3 -

       ния в 2.8 в файл f.c и выполните

           rcsmerge  -p  -r2.8  -r3.4  f.c  >f.merge.c

       Затем проверьте  f.merge.c.  Альтернативно,   если   вы   хотите
       сохранить обновления в 2.8 в файле RCS, то оформленно введите их
       как модификацию 2.8.1.1 и выполните co -j:

           ci   -r2.8.1.1   f.c
           co   -r3.4  -j2.8:2.8.1.1  f.c

       В качестве  другого примера следующая команда отменяет изменения
       между модификациями 2.4 и 2.8 в вашей текущей  оформленно  выве-
       денной модификации и в f.c.

           rcsmerge   -r2.8   -r2.4   f.c

       Заметим порядок аргументов, и что f.c будет переписан.

 6. СРЕДА
       RCSINIT
             Опции добавляются к началу списка аргументов, разделенного
             пробелами.См. CI(1) для деталей.

 7. ДИАГНОСТИКА
       Статус выхода =0,  если нет перекрытий, 1, если есть перекрытие,
             2 - при ошибке.

 8. ИДЕНТИФИКАТОР
       Автор: Walter F. Tichy.
       Manual Page Revision: 5.6; Release Date: 1995/06/01.
       Copyright  (C)  1982,  1988,  1989  Walter F. Tichy.
       Copyright  (C)  1990,  1991,  1992,  1993, 1994, 1995 Paul
       Eggert.

 9. СМ. ТАКЖЕ
       rcsintro(1),  co(1),  ci(1),  ident(1),  rcsclean(1),
       rcsdiff(1),  rcsmerge(1),  rlog(1),  rcsfile(5) 
       Walter F. Tichy,   RCS--A  System  for  Version  Control,
       Software--Practice &  Experience  15,   7  (July  1985),
       637-654.

rlog - печать журнальных записей и другой информации о файлах RCS



С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ПРИМЕРЫ                                                           4
5. СРЕДА                                                             4
6. ДИАГНОСТИКА                                                       4
7. ИДЕНТИФИКАЦИЯ                                                     4
8. СМ. ТАКЖЕ                                                         5
9. ОШИБКИ                                                            5

 1. ИМЯ
       rlog - печать журнальных записей и другой  информации  о  файлах
       RCS.

 2. ФОРМАТ
       rlog [ options ] file...

 3. ОПИСАНИЕ
       rlog печатает информацию о файлах RCS.

       Имена путей,  соответствующие суффиксу RCS,  означают файлы RCS;
       все другие означают рабочие файлы.  Имена спарены, как объяснено
       в ci(1).

       rlog печатает  следующую  информацию для каждого файла RCS:  имя
       пути RCS,  рабочее имя пути,  "голову" (т.е. номер самой поздней
       модификации на стволе), ветвь по умолчанию, список доступа, бло-
       кировки, символьные имена,  суффикс,  полное число  модификаций,
       число модификаций, выбранных для печати и поясняющий текст. За
       этим следуют вхождения для выбранных модификаций в обратном хро-
       нологическом порядке  для  каждой ветви.  Для каждой модификации
       rlog печатает номер модификации,  автора, дату/время, состояние,
       число добавленных/удаленных строк (относительно предыдущей моди-
       фикации), блокиратора модификации (если есть) и  журнальную  за-
       пись. Все  времена  даются  в Координированном Всемирном Времени
       (КВВ) по умолчанию;  это может быть перезаписано  опцией  -z.Без
       опций rlog печатает полную информацию. Следующие опции ограничи-
       вают этот выход.

       -L  Игнорировать файлы RCS, которые не имеют установки блокирова-
           ния. Это удобно в комбинации с -h, -l, и -R.

       -R  Печатать только имя файла RCS. Это удобно для трансляции ра-
           бочего имени пути в имя пути RCS.
       -h  Печатать только имя пути RCS, рабочее  имя  пути,  "голову",
           ветвь по умолчанию, список доступа,  блокировки,  символьные
           имена и суффикс.

                                - 2 -

       -t  Печатать то же, что -h, плюс поясняющий текст.

       -N  Не печатать символьные имена.

       -b  Печатать информацию о модификациях на ветви по  умолчанию,  в
           норме на наивысшей ветви на стволе.

       -ddates
           Печатать информацию о модификациях с  датой/временем  оформ-
           ленного ввода в диапазонах, заданных списком дат dates, раз-
           деленных точками с запятыми.  Диапазон  в  форме  d1d1  выбирает модификации,  которые расположены между d1 и
           d2 исключительно.  Диапазон в форме   выбирает  все
           модификации  раньше  d.  Диапазон в форме d< или >d выбирает
           все модификации,  датированные позже d. Если за < или > сле-
           дует = ,  то диапазоны - включительные, а не исключительные.
           Диапазон в форме d выбирает единственную,  самую позднюю мо-
           дификацию,  датированную d или ранее. Строки даты/времени d,
           d1 и d2 - в свободном формате,  объясненном в co(1). Кавычки
           в норме необходимы,  особенно для < и >. Заметим, что разде-
           литель - точка с запятой.

       -l[lockers]
           Печатать информацию  только о блокированных модификациях.  В
           добавление, если дан разделенный запятыми список регистраци-
           онных имен блокираторов lockers,  то игнорировать все блоки-
           ровки,  кроме заданных блокираторами.  Например,  rlog -L -R
           -lwft RCS /*  печатает имена файлов RCS, блокированных поль-
           зователем wft.
       -r[revisions]

           печатает информацию о модификациях,  заданных в  разделенном
           запятыми списке revisions модификаций и диапазонов. Диапазон
           rev1:rev2 означает модификации от rev1 до rev2 на одной вет-
           ви, :rev означает модификации от начала ветви до rev включи-
           тельно, rev: означает модификации от rev до конца ветви, со-
           держащей rev. Ветвь как аргумент означает все модификации на

                                - 3 -

           этой ветви. Диапазон ветвей означает все модификации на вет-
           вях в этом диапазоне. Ветвь с точкой на конце означает самую
           позднюю модификацию на этой ветви. Чистое -r без модификаций
           означает самую  позднюю модификацию на ветви по умолчанию, в
           норме на стволе.

       -sstates
           печатает информацию  о модификациях,  чьи атрибуты состояния
           соответствуют одному из состояний,  заданных  в  разделенном
           запятыми списке states.

       -w[logins]
           печатает информацию  о  модификациях,  оформленно  введенных
           пользователями с  регистрационными  именами  из разделенного
           запятыми списка logins. Если logins опущен, то предполагает-
           ся регистрационное имя пользователя.

       -T  Эта опция бездействует; она введена для совместимости с дру-
           гими командами RCS.

       -V  Печатать номер версии RCS.

       -Vn Эмулировать RCS версии  n при генерации журналов. См. co(1)
           для большего.

       -xsuffixes
           Использовать suffixes для  характеризации  файлов  RCS.  См.
           ci(1) для большего.

       rlog печатает пересечение модификаций, выбранных опциями -d, -l,
           -s, и -w, пересеченных с объединением модификаций, выбранных
           через -b и -r.

       -zzone
           специфицирует выходной формат даты и часовой пояс по умолча-
           нию для даты в опции -ddates.  zone должна быть пустой, чис-
           ленным смещением КВВ или специальной строкой LT для местного
           времени. Умолчание - пустая zone,  которая использует тради-

                                - 4 -

           ционный RCS-формат КВВ без указания часового пояса и со слэ-
           шами, разделяющими части даты; иначе времена выдаются в фор-
           мате ISO 8601 с указанием  часового  пояса.  Например,  если
           местное время  - 11 января 1990г.,  8pm Тихоокеанского Стан-
           дартного Времени, восемь часов к западу от КВВ, то время бу-
           дет выдано как показано:

                опция      выход времени
                -z         1990/01/12 04:00:00       (умолчание)
                -zLT       1990-01-11 20:00:00-08
                -z+05:30   1990-01-12 09:30:00+05:30
 4. ПРИМЕРЫ

             rlog  -L  -R  RCS/*
             rlog  -L  -h  RCS/*
             rlog  -L  -l  RCS/*
             rlog  RCS/*

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

 5. СРЕДА
       RCSINIT
           опции добавляются  к началу списка аргументов,  разделенного
           пробелами. См. ci(1).

 6. ДИАГНОСТИКА
           Статус выхода  =0,  если и только если все операции были ус-
           пешными.

 7. ИДЕНТИФИКАЦИЯ
           Автор: Walter F. Tichy.
           Manual Page Revision: 5.9; Release Date: 1995/06/16.
           Copyright  (C)  1982,  1988,  1989  Walter F. Tichy.
           Copyright  (C)  1990,  1991,  1992,  1993, 1994, 1995 Paul
           Eggert.

 8. СМ. ТАКЖЕ
       	  rcsintro(1),  co(1),  ci(1),  ident(1),  rcsclean(1),
          rcsdiff(1),  rcsmerge(1),  rlog(1),  rcsfile(5)
           Walter F. Tichy,   RCS--A  System  for  Version  Control,
           Software--Practice  &  Experience  15,   7  (July  1985),
           637-654.

 9. ОШИБКИ

    Разделитель для диапазонов модификаций в опции -r обычно  использу-
    ется -  вместо :,  но это ведет к путанице,  когда символьные имена
    содержат -.  Для обратной совместимости rlog  -r  еще  поддерживает
    старый разделитель -,  но предупреждает, что его употребление уста-
    рело.

rcsfile - формат файла RCS



С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ОПИСАНИЕ                                                          1
3. ИДЕНТИФИКАЦИЯ                                                     4
4. СМ. ТАКЖЕ                                                         4

 1. ИМЯ

    rcsfile - формат файла RCS.

 2. ОПИСАНИЕ

    Содержимое файла RCS описывается приводимой ниже грамматикой.

    Текст - в свободном формате:  пробел,  обратный пробел,  табуляция,
    нов_строка, вертикальная  табуляция,  прогон страницы и возврат ка-
    ретки (в совокупности - пробельные символы) не имеют значения,кроме
    как в строках. Однако пробельные символы не могут появляться внутри
    id, num или sym, и файл RCS должен кончаться нов_строкой.

    Строки (цепочки) заключены в @. Если строка содержит @, то @ должна
    быть удвоена;  в  ином  случае  строка может содержать произвольные
    двоичные данные.

    Мета-синтаксис использует следующие соглашения:  `|' разделяет аль-
    тернативы; `{' и `}' окружают опциональные фразы;  `{' и `}*' окру-
    жают фразы, которые надо повторить 0 или более раз; `{' и ` }+' ок-
    ружают фразы,  которые  должны  появиться  хотя бы один раз и могут
    повторяться; терминальные символы даются жирным  шрифтом;  нетерми-
    нальные - курсивом.

    rcstext     ::= admin {delta}* desc {deltatext}*

    admin       ::= head       {num};
                    { branch   {num}; }
                    access     {id}*;
                    symbols    {sym : num}*;
                    locks      {id : num}*;  {strict  ;}
                    { comment  {string}; }
                    { expand   {string}; }
                    { newphrase }*
    delta       ::= num
                    date       num;

                                - 2 -

                    author     id;
                    state      {id};
                    branches   {num}*;
                    next       {num};
                    { newphrase }*

    desc        ::= desc       string

    deltatext   ::= num
                    log        string
                    { newphrase }*
                    text       string

    num         ::= {digit | .}+

    digit       ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

    id          ::= {num} idchar {idchar | num}*

    sym         ::= {digit}* idchar {idchar | digit}*

    idchar      ::= любой вводимый графический символ, кроме
                       специальных

    special     ::= $ | , | . | : | ; | @

    string      ::= @{любой символ с удвоением @}*@

    newphrase   ::= id word* ;

    word        ::= id | num | string | :

    В идентификаторах различается величина символов. Ключевые слова да-
    ются только строчными символами. Наборы ключевых слов и идентифика-
    торов могут   пересекаться.   В  большинстве  сред  RCS  использует
    кодировку ISO  8859/1:  видимые  графические  символы  -  это  коды
    041-176 и 240-377, а пробельные символы - 010-015 и 040.
    Даты, появляющиеся после ключевого слова date, имеют форму

                                - 3 -

    Г.мм.дд.чч.мм.сс, где Г  - год,  мм  -  месяц  (01-12),  дд - день
    (01-31), чч  -  час  (00-23),  мм  -  минута (00-59) и сс - секунда
    (00-60). Г содержит только две последние цифры года для годов 1990-
    1999 и все цифры для последующих лет. Даты используют григорианский
    календарь; время - КВВ.

    Продукции newphrase в этой  грамматике  резервируются  для  будущих
    расширений формата файлов RCS. newphrase не должна начинаться с лю-
    бого уже употребляемого ключевого слова.

    Узлы delta образуют дерево.  Все узлы,  чьи номера состоят из одной
    пары (например, 2.1, 2.3, 1.3 и т.д.), находятся на стволе и связа-
    ны через следующее поле в порядке уменьшения номеров. Головное поле
    в узле admin указывает на голову этой последовательности (т.е.  со-
    держит наивысшую пару). Узел branch в узле admin указывает на ветвь
    по умолчанию (или на модификацию) для большинства операций RCS. Ес-
    ли он пуст, то ветвь по умолчанию - это наивысшая ветвь на стволе.

    Все узлы delta,  чьи номера состоят из 2n полей  (n>=2)  (например,
    3.1.1.1, 2.1.2.2 и т.д.),  связаны следующим образом. Все узлы, чьи
    первые 2n-1 поля номера идентичны, связываются через следующее поле
    в порядке возрастания номеров.  Для каждой такой последовательности
    узел delta,  чей номер идентичен первым  2n-2  полям  номера  узлов
    delta  в этой последовательности,  называется узловой точкой.  Поле
    ветвей узла содержит список номеров первых  узлов  всех  последова-
    тельностей,  для которых существует узловая точка. Этот список упо-
    рядочен по возрастанию номеров.

    Следующая диаграмма показывает пример организации файла RCS.

                              Голова
                                 |
                                 |
                                 V                        / \
                             ---------                   /   \
        / \         / \      |       |      / \         /     \
       /   \       /   \     |  2.1  |     /   \       /       \
      /     \     /     \    |       |    /     \     /         \

                                - 4 -

     /1.2.1.3\   /1.3.1.1\   |       |   /1.2.2.2\   /1.2.2.1.1.1\
     ---------   ---------   ---------   ---------   -------------
         ^           ^           |           ^             ^
         |           |           |           |             |
         |           |           V           |             |
        / \          |       ---------      / \            |
       /   \         |       \  1.3  /     /   \           |
      /     \        ---------\     /     /     \-----------
     /1.2.1.1\                 \   /     /1.2.2.1\
     ---------                  \ /      ---------
         ^                       |           ^
         |                       |           |
         |                       V           |
         |                   ---------       |
         |                   \  1.2  /       |
         ---------------------\     /---------
                               \   /
                                \ /
                                 |
                                 |
                                 V
                             ---------
                             \  1.1  /
                              \     /
                               \   /
                                \ /

 3. ИДЕНТИФИКАЦИЯ

    Автор: Walter F. Tichy,   Purdue  University,   West
    Lafayette, IN,  47907.
    Manual Page Revision: 5.6; Release Date: 1995/06/05.
    Copyright (C) 1982, 1988, 1989 Walter F. Tichy.
    Copyright  (C)  1990,  1991,  1992,  1993, 1994, 1995 Paul
    Eggert.

 4. СМ. ТАКЖЕ
    rcsintro(1),  co(1),  ci(1),  ident(1),  rcsclean(1),
    rcsdiff(1),  rcsmerge(1),  rlog(1),  rcsfile(5)
    Walter F. Tichy,   RCS--A  System  for  Version  Control,
    Software--Practice  &  Experience  15,   7  (July  1985),
    637-654.

rcsclean - очистка рабочих файлов


С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ОПЦИИ                                                             1
5. ПРИМЕРЫ                                                           3
6. ФАЙЛЫ                                                             3
7. СРЕДА                                                             3
8. ДИАГНОСТИКА                                                       3
9. ИДЕНТИФИКАЦИЯ                                                     3
10. СМ. ТАКЖЕ                                                        3
11. ОШИБКИ                                                           4

 1. ИМЯ
       rcsclean - очистка рабочих файлов

 2. ФОРМАТ
       rcsclean [options]  [files...]

 3. ОПИСАНИЕ
       rcsclean удаляет файлы,  с которыми никто не работает.  rcsclean
       -u также разблокирует и удаляет файлы,  с которыми работают,  но
       которые не изменены.

       Для каждого данного файла rcsclean сравнивает рабочий файл и мо-
       дификацию в соответствующем файле RCS.  Если она находит  разли-
       чия, то она не делает ничего. Иначе она сначала разблокирует мо-
       дификацию, если дана опция -u, а затем удаляет рабочий файл, ес-
       ли  рабочий файл не является перезаписываемым или если модифика-
       ция не блокирована. Она регистрирует свои действия выдачей соот-
       ветствующих команд rcs -u и rm -f на стандартный выход.

       Файлы спарены,  как  объяснено в ci(1).  Если файл не задан,  то
       очищаются все рабочие файлы в текущем директории.  Имена  путей,
       соответствующие суффиксу RCS, означают файлы RCS; все другие оз-
       начают рабочие файлы.

       Номер модификации,  с которой сравнивается рабочий  файл,  может
       быть приписан к любой из опций -n, -q, -r или -u. Если номер мо-
       дификации не специфицирован,  то если дана опция -u и  пользова-
       тель заблокировал модификацию, rcsclean использует эту модифика-
       цию; иначе rcsclean  использует  самую  позднюю  модификацию  на
       ветви по умолчанию, в норме на стволе.

       rcsclean полезна    для целей clean в makefile'ах. См.   также
       rcsdiff(1), которая распечатывает различия,  и ci(1),  которая в
       норме обращается к предыдущей модификации, если файл не изменял-
       ся.
 4. ОПЦИИ
       -ksubst
             Использовать стиль subst подстановки ключевых слов при по-

                                - 2 -

             иске модификации для сравнения. См. co(1) для деталей.

       -n[rev]
             Не удалять по-настоящему любые файлы или не разблокировать
             любые модификации.  Использование  этой  опции скажет вам,
             что именно rcsclean могла бы сделать  без  действительного
             выполнения этого.

       -q[rev]
             Не регистрировать действия,  выдаваемые на стандартный вы-
             ход.

       -r[rev]
             Эта опция не имеет другого действия,  кроме как специфика-
             ции модификации rev для сравнения.

       -T    Сохраняет время модифицирования файла RCS, даже если файл
             RCS изменяется из-за удаления блокировки.  Эта опция может
             подавлять лишнюю  перекомпиляцию,  вызванную  зависимостью
             некоторой другой копии рабочего файла от файла  RCS  через
             make(1). Используйте эту опцию осторожно;  она может пода-
             вить перекомпиляцию, даже когда она нужна, т.е. когда уда-
             ление блокировки  означало бы изменение в строках ключевых
             слов в другом рабочем файле.

       -u[rev]
             Разблокировать модификацию  rev,  если она заблокирована и
             не найдено различий.

       -V    Печатать номер версии RCS.

       -Vn   Эмулировать RCS версии n. См. co(1) для деталей.

       -xsuffixes
             Использовать suffixes  для характеризации файлов RCS.  См.
             ci(1) для деталей.
       -zzone
             Использовать zone  как часовой пояс для подстановки ключе-

                                - 3 -

             вых слов; см. co(1) для деталей.

 5. ПРИМЕРЫ
             rcsclean  *.c  *.h

       удаляет все рабочие файлы,  оканчивающиеся на .c или .h, которые
       не были изменены после их оформленного вывода.

             rcsclean

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

 6. ФАЙЛЫ
       rcsclean имеет доступ к файлам в основном так же, как ci(1).

 7. СРЕДА
       RCSINIT
              опции добавляются к началу списка аргументов, разделенных
              пробелами. Пробелы,  предваряемые обратным слэшем,  можно
              вставлять внутри опций.  Опции RCSINIT добавляются к  на-
              чалу списка  аргументов большинства команд RCS.  Полезные
              опции RCSINIT включают  -q, -V, -x, и -z.

 8. ДИАГНОСТИКА
       Статус выхода = 0, если и только если все операции были успешны-
       ми. Пропуск рабочих файлов и файлов RCS незаметно игнорируется.

 9. ИДЕНТИФИКАЦИЯ
       Автор: Walter F. Tichy.
       Manual Page Revision: 1.12; Release Date: 1993/11/03.
       Copyright (C) 1982,  1988, 1989 Walter F. Tichy.
       Copyright (C) 1990,  1991,  1992,  1993, Paul Eggert.

 10. СМ. ТАКЖЕ
       ci(1), co(1),  ident(1),  rcs(1), rcsdiff(1),  rcsintro(1),
       rcsmerge(1),  rlog(1),rcsfile(5)
       Walter F. Tichy,  RCS--A  System  for  Version  Control,
      Software--Practice  &  Experience  15,  7  (July  1985),
       637-654.

 11. ОШИБКИ
       В старых версиях Unix должен быть задан  по  крайней  мере  один
       файл,  что  не предусматривает необходимых операций сканирования
       директория.

merge - слияние файлов





С О Д Е Р Ж А Н И Е
1. ИМЯ                                                               1
2. ФОРМАТ                                                            1
3. ОПИСАНИЕ                                                          1
4. ОПЦИИ                                                             1
5. ДИАГНОСТИКА                                                       2
6. ИДЕНТИФИКАЦИЯ                                                     2
7. СМ. ТАКЖЕ                                                         2
8. ОШИБКИ                                                            2

 1. ИМЯ
       merge - слияние файлов.

 2. ФОРМАТ
       merge [options ] file1 file2 file3

 3. ОПИСАНИЕ
       merge собирает все изменения,  которые ведут от file2 к file3, в
       file1. Результат  обычно  помещается в file1.  merge полезна для
       комбинирования раздельных изменений  в  оригинал. Пусть  file2 -
       оригинал, а file1 и file3 - модификации file2. Тогда merge ском-
       бинирует оба изменения.

       Возникает конфликт, если и file1 и file3 имеют изменения в общем
       сегменте строк. Если конфликт обнаружен, то merge в норме выдает
       предупреждение и обрамляет конфликт строками <<<<<<<  и >>>>>>>.
       Типичный конфликт выглядит примерно так:

           <<<<<<< файл A
           строки в файле A
           =======
           строки в файле B
           >>>>>>> файл B

       Если есть конфликты,  то пользователь должен отредактировать ре-
       зультат и удалить одну из альтернатив.

 4. ОПЦИИ
       -A      Выдать  конфликты,  используя стиль -A из diff3(1), если
               она поддерживается diff3. Это сливает все изменения, ве-
               дущие от file2 к file3, в file1 и генерирует весьма под-
               робный вывод.

       -E, -e  Эти опции специфицируют конфликтные стили, генерирующие
               меньше информации,  чем  -A.  См.  diff(1)  для деталей.
               Умолчание - -E. При -e merge не предупреждает о конфлик-
               тах.

                                - 2 -

       -L label
               Эта опция может быть выдана до трех раз,  и она специфи-
               цирует метки label для использования их вместо имен фай-
               лов в сообщениях о конфликтах. Т.е. merge -L x -L y -L z
               a b c   генерирует выход,  как если бы он был получен от
               файлов x, y и z вместо файлов a, b и c.

       -p      Посылает результаты на стандартный вывод вместо перезапи-
               сывания file1.

       -q      Исполнять "молча"; не предупреждать о конфликтах.

       -V      Печатает номер версии.

 5. ДИАГНОСТИКА
       Статус выхода = 0, если нет конфликтов, 1, если они есть и 2 при
       ошибке.

 6. ИДЕНТИФИКАЦИЯ
       Автор: Walter F. Tichy.
       Manual Page Revision: 5.7; Release Date: 1995/06/01.
       Copyright (C) 1982, 1988, 1989 Walter F. Tichy.
       Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

 7. СМ. ТАКЖЕ
       diff3(1),  diff(1),  rcsmerge(1),  co(1).

 8. ОШИБКИ
       Обычно не имеет смысла сливать двоичные файлы как текстовые, но
       merge может попытаться это сделать.

СЛОВАРЬ


                                   A

alias - псевдоним

                                   B

back end - внутренний интерфейс
backup - резервная копия
binary - исполняемый файл; двоичный
binary distribution - распространение готового продукта
binary file - двоичный файл
break - прерывать, нарушать
bring up to date - обновлять, перевести путем обновления
bugfixes - исправление ошибок

                                   C

caller - пользователь
cancel - отменить
check in - оформленно ввести
check out - оформленно вывести
comment leader - начальный участок с комментариями
commit - фиксировать
contribute - выпустить, предложить
customer installation - инсталляция для потребителя

                                   D

delimitor - ограничитель
deposit - копировать во внешнюю память
descend - спускаться
descriptive text - поясняющий текст
distribution - (внешняя) поставка

                                   E

effective user - номинальный пользователь
enabled - задействован
escape sequence - управляющая последовательность
exempt - отстраненный

                                   F

FAQ (frequently asked questions) - ЧЗВ (часто задаваемые вопросы)
feed - загрузить
file permissions - право доступа к файлу
flag - флаг, опция командной строки, ключ; помечать
front end - внешний интерфейс
ftp-site - ftp-сервер

                                   H

hardcopy - книга, распечатка
head - головной
header - заголовок

                                   I

immediate sub-directory - непосредственный поддиректорий

                                   K

keyword - ключевое слово

                                   L

lie about - подменять
lock - блокировать
locker - блокиратор
log - журнал
log message - запись в журнал, регистрационное сообщение,
              журнальная запись
login - регистрация
login name - регистрационное имя пользователя

                                   M

mailing list - список рассылки
major release - старший выпуск
manual page format - формат команды man
matching - подходящий
merge - сливать
merging - слияние
mistag - ошибочно дескриптировать
mode - режим
mounts - подмонтированные файловые системы

                                   N

newsgroup - телеконференция
null-character - нулевой символ (0x00, '\0')

                                   O

override - перезаписать, перекрыть

                                   P

period - точка
permission - право доступа
pipe - выходной канал
prepend - добавить к началу
prompt - приглашать, запрашивать
prune - отрезать, отсечь

                                   Q

quiet - "молчаливый"
quietly - "молча"

                                   R

race - состязания, гонки
read-write - перезаписываемый
reconsile - согласовать, улаживать
relative path - относительный путь
release - выпуск, издание
resurrecting - восстановление
revision - модификация
run - исполнять, выполнять (команду)

                                   S

script - командный файл
secondary storage - внешняя память
semaphore file - семафорный файл
setgid - установка идентификаторов группы
setuid - установка идентификаторов пользователя (УИП)
share - совместно использовать
shell script - командный файл
silently - незаметно
site - WWW-страница, машина (вычислительная)
source - исходный текст
spurious - некондиционный
sticky tag - распределенный дескриптор
strict locking - строгая блокировка
subscribe - подписываться
superuser - привилегированный пользователь
support contract - контракт поддержки
synopsis - (здесь) формат

                                   T

tag - дескриптор; дескриптировать
tape construction - лентопротяжное устройство
time zone - часовой пояс
top - верхний
top revision - самая верхняя модификация

                                   U

undo - ликвидировать, отменить
update - обновление; обновлять
UTC (Coordinated Universal Time)
    - КВВ (Координированное Всемирное Время)

                                   V

vendor - поставщик
vendor branch - ветвь поставщика

                                   W

wrapper - обертка