18.3. Выборка старых версий файлов в RCS

Проблема
Беда все-таки произошла: вы изменили рецепт секретного соуса, ошиблись и не
можете восстановить его в исходном виде. Но вы использовали RCS, и в репози тарий хранится несколько версий файла. Требуется вывести список всех версий,
протокол изменений и даты последней модификации. Определив, какая версия
вам нужна, извлеките старую версию из репозитария.
Решение
В репозитарии накопилось несколько версий файла. Чтобы просмотреть весь про токол изменений по конкретному файлу, воспользуйтесь командой rlog:
$ rlog cupsd.conf
RCS f i l e : RCS/cupsd.conf,v
Working f i l e : cupsd.conf
head: 1.2
branch:
locks:strict
access list:
symbolic names:
keyword substitution: kv
total revision: 2; selected revisions: 2
description:
LAN printer server, for windows and linux. no samba
revision 1.3
date: 2004/07/31 03:33:46; author: terri: state: Exp; lines: +1 -1
corrected error in Allow directive
revision 1.2
date: 2004/07/27 05:29:27: author: terri; state: Exp; lines: +2 -0
added administrative controls to prevent users from making changes to the server
revision 1.1
date: 2004/07/27 05:19:25; author: terri; state: Exp;
Initial revision
Вероятно, вы уже поняли, почему так важно писать содержательные ком ментарии. Для извлечения конкретной версии документа следует указать ее
номер:
$ со -1 - r l . l cupsd.conf
ВНИМАНИЕ
Извлечение файла из репозитария приводит к стиранию рабочей копии файла (projecthome/
cupsd.conf в данном примере). Чтобы этого не произошло, начните с занесения рабочей копии
в репозитарии RCS.
Чтобы быстро вывести файл без его извлечения и открытия в редакторе, ис пользуйте ключ -р:
$ со -р - r l .5 cupsd.conf
Комментарий
Если репозитарии содержит несколько версий файла и при извлечении не указы вался номер версии, по умолчанию будет извлечена самая последняя версия.
Вы можете просмотреть свои файлы в каталоге RCS и даже открыть их в тек стовом редакторе, чтобы узнать, что с ними делает RCS. Даже если в репозитарии
будет сохранено несколько десятков версий одного файла, вся история измене ний все равно будет представлена одним файлом. RCS изменяет только содержи мое одного файла и не создает отдельных копий для каждого изменения.
RCS избавляет вас от лишних хлопот. Вам не нужно тратить усилия и вспоми нать, что происходило с файлом, потому что RCS отслеживает все изменения за вас.
См. также
rcsintro(l), ci(l), co(l), rlog(l); домашняя страница RCS (http://www.cs.purdue.edu/
homes/trinkle/RCS).