Простая программа управления версиями RCS (Revision Control System) идеально подходит для создания простого локального репозитория с целью отслеживания изменений в любых текстовых документах.
В системе управления версиями RCS используются два каталога: в рабочем каталоге хранятся рабочие копии документов, а каталог RCS выполняет функции репозитория. Файлы репозитория, хранящие информацию о различных версиях, снабжаются суффиксом .v.
Для создания собственного репозитория RCS в рабочем каталоге создается подкаталог RCS:
oleg@localhost:~:$ cd ~/webprojects/linuxcookbook/content/
oleg@localhost:~/webprojects/linuxcookbook/content:$ \
> mkdir RCS
Занесение файла в репозиторий выполняется следующей командой:
oleg@localhost:~/webprojects/linuxcookbook/content:$ \
> ci -u versioncontrolsystems.html
RCS/versioncontrolsystems.html,v <-- versioncontrolsystems.html
enter description, terminated with single `.` or end of file:
NOTE: This is NOT the long message!
>> RCS and CVS
>> .
initial revision: 1.1
done
Для редактирования файл извлекается из репозитория и открывается в любом текстовом редакторе:
oleg@localhost:~/webprojects/linuxcookbook/content:$ \
> co -l versioncontrolsystems.html
RCS/versioncontrolsystems.html,v --> versioncontrolsystems.html
revision 1.1 (locked)
done
oleg@localhost:~/webprojects/linuxcookbook/content:$ \
> vim versioncontrolsystems.html
После завершения редактирования следует сохранить и закрыть файл, а затем занести его в репозиторий, добавив комментарий с описанием изменений:
oleg@localhost:~/webprojects/linuxcookbook/content:$ \
> ci -u versioncontrolsystems.html
RCS/versioncontrolsystems.html,v <-- versioncontrolsystems.html
new version: 1.2; previous version: 1.1
enter log message, terminated with single `.` or end of file:
>> Незначительная правка
>> .
done
Файлы в рабочем каталоге представляют временные версии. Когда файл достигнет состояния, которое необходимо зафиксировать, то его следует занести в репозиторий.
Основные команды RCS:
- ci -u — занести файл в репозитарий и снять блокировку;
- со -l — извлечь файл из репозитория и заблокировать.
Флаг -u при занесении файла в репозиторий защищает копию в рабочем каталоге. Файл в рабочем каталоге становится доступным только для чтения, что предотвращает случайные изменения и напоминает, что для редактирования файл необходимо извлечь из репозитория.
Установка блокировки позволяет извлекать и редактировать файл лишь одному человеку, поэтому RCS не подходит для проектов с большим количеством участников.