Администрирование ОС Solaris

Как начать работу с SCCS


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

Основные команды программы sccs перечислены в таблица 23.1:

Таблица 23.1. Основные команды программы SCCS

команда

назначение



create инициализация файла истории
clean очистка текущего каталога
deledit внесение изменений в репозиторий и извлечение файла
delget внесение изменений в репозиторий и извлечение файла только для чтения
delta внесение изменений в репозиторий
edit извлечение файла
enter инициализация файла истории
get извлечение файла только для чтения
info вывод полной информации о файле
unedit возвращение файла к состоянию, в котором он был до последнего изменения

Итак, начнем. Предположим, мы создаем репозиторий для файлов из каталога /usr/develop (пример c каталогом /etc так часто рассматривается в литературе, что мы сочли его банальным, если вы желаете сделать репозиторий для каталога /etc, просто замените все /usr/develop в нашем примере на /etc).

cd /usr/develop mkdir SCCS

теперь создаем файл истории проекта для файлов q и q1:

/usr/ccs/bin/sccs create q q1

q: No id keywords (cm7) q1: No id keywords (cm7) 1.1 2 lines No id keywords (cm7) 1.1 40 lines No id keywords (cm7)

Файлы оригиналов (т.е. того, что было до помещения файлов в репозиторий) сохраняются с именами, идентичными именам оригиналов, но с добавленной в начале запятой. Файлы истории предваряются префиксом s.:

ls -l SCCS total 6 -r--r--r-- 1 root other 155 Июн 26 16:01 s.q -r--r--r-- 1 root other 1877 Июн 26 16:01 s.q1

ls -l -rw-r--r-- 1 root other 7 Май 5 20:15 ,q -r--r--r-- 1 root other 7 Июн 26 16:01 q -rw-r--r-- 1 root other 1729 Июн 20 23:32 ,q1 -r--r--r-- 1 root other 1729 Июн 26 16:01 q1

Посмотрим содержимое файла q и попробуем его изменить.

Для редактирования файла следует его извлечь из репозитория; это делается командой sccs edit:


bash-2.05# /usr/ccs/bin/sccs edit q 1.1 new delta 1.2 2 lines

Посмотрим, как выглядит файл:

bash-2.05# cat q test

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

bash-2.05# cat >> q test1

Теперь внесем изменения в файл истории в репозитории:

bash-2.05# /usr/ccs/bin/sccs delta q comments? new line added No id keywords (cm7) 1.2 1 inserted 0 deleted 2 unchanged

Если после внесения изменений в файл истории снова требуется изменить сам файл (в нашем случае - файл q), то вместо delta следует указать подкоманду deledit, что эквивалентно последовательности команд

/usr/ccs/bin/sccs delta q /usr/ccs/bin/sccs edit q

Файл истории файла q в каталоге SCCS выглядит так:

h13611 s 00001/00000/00002 d D 1.2 04/06/26 16:12:03 root 2 1 c new line added e s 00002/00000/00000 d D 1.1 04/06/26 16:01:16 root 1 0 c date and time created 04/06/26 16:01:16 by root e u U f e 0 t T I 1 test

I 2 test1 E 2 E 1

Как видим, в файле истории сохраняется информация о самих изменениях, а также о времени и авторе этих изменений.


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