Основы программирования в Linux - Мэтью Нейл
$ <b>со -l important.c</b>important.с,v --> important.crevision 1.1 (locked) done$и загляните в каталог:
$ <b>ls -l</b>-rw-r--r-- 1 neil users 225 2007-07-09 07:55 important.c-r--r--r-- 1 neil users 453 2007-07-09 07:55 important.с,v$Теперь у вас появился файл для редактирования и внесения новых изменений. Выполните корректировку, сохраните новую версию и используйте команду
ciprintf("Hello Worldn");printf("This is an extra line added latern");Примените
ci$ <b>ci important.с</b>important.с,v <-- important.cnew revision: 1.2;previous revision: 1.1enter log message, terminated with single or end of file:>> <b>Added an extra line to be printed out.</b>>> <b>.</b>done$Для записи изменений и сохранения блокировки, разрешающей пользователю продолжить работу с файлом, следует вызвать команду
ci-lВы сохранили обновленную версию файла. Если сейчас заглянуть в каталог, можно увидеть, что файл important.c снова удален.
$ <b>ls -l</b>-r--r--r-- 1 neil users 635 2007-07-09 07:55 important.с,v$Часто бывает полезно просмотреть сводку изменений, внесенных в файл. Сделать это можно с помощью команды
rlog$ <b>rlog important.с</b>RCS file: important.c,vWorking file: important.chead: 1.2branch:locks: strictaccess list:symbolic names:keyword substitution: kvtotal revisions: 2; selected revisions: 2description:This is an important demonstration file------------------------revision 1.2date: 2007/07/09 06:57:33; author: neil; state: Exp; lines: +1 -0Added an extra line to be printed out.------------------------revision 1.1date: 2007/07/09 06:54:36; author: neil; state: Exp;Initial revision==================================================================$В первой части дается описание файла и опций, используемых командой
rcsrloglines:+1-0Учтите, что время модификации файла записывается без учета летнего времени, чтобы избежать проблем при переводе часов.
Теперь, если вы хотите вернуть первую версию файла, можно запросить команду
со$ <b>со -r1.1 important.c</b>important.с,v --> important.crevision 1.1done$У команды
ci-rci -r2 important.cсохранит файл important.c как версию 2.1. Обе системы, RCS и SCCS, по умолчанию используют 1 как наименьший номер версии.
Если вы хотите знать, чем отличаются две версии, можно применить команду
rcsdiff$ <b>rcsdiff -r1.1 -r1.2 important.c</b>=================================================RCS file: important.c,vretrieving revision 1.1retrieving revision 1.2diff -r1.1 -r1.211a12> printf("This is an extra line added latern");$Вывод информирует вас о том, что была добавлена одна строка после исходной строки 11.
Система RCS может применять специальные строки (макросы) внутри исходного файла, помогающие отслеживать изменения. Наиболее популярны два макроса:
$RCSfile$$Id$$RCSfile$$Id$Давайте в третий раз изменим файл и добавим несколько таких макросов:
$ <b>со -l important.с</b>important.c,v --> important.сrevision 1.2 (locked)