logo search
инт

5.6.1.1. Система управления версиями файлов

Множество грехов отпадает, если рядом с колеблющимся стоит свидетель его поступков. Эпикур

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

Проиллюстрируем работу с версиями на примере системы SCCS. При передаче файла под ее управление, система создает новый файл (так называемый s.-файл) в подкаталоге с именем SCCS. Именно в этом дополнительном файле будут отслеживаться и храниться все изменения: /имя_файла/SCCS/s.имя_файла

Укажем операции, наиболее часто выполняемые над файлом, помещенным под систему управления версиями, и проиллюстрируем их работу на рис. 5.7.

sccs create <имя_файла> - передать файл под управление SCCS.

sccs get <имя_файла> - извлечь последнюю версию файла, открытую только для чтения.

sccs edit <имя_файла> - извлечь последнюю версию для редактирования, открытую для записи, и заблокировать возможность открыть файл для редактирования остальным пользователям.

sccs unedit <имя_файла> - отменить редактирование и исключить информацию о попытке редактирования, дать возможность открыть файл для редактирования остальным пользователям.

sccs delta <имя_файла> - вернуть измененную версию и добавить комментарий.

sccs delget <имя_файла> - комбинация Команд delta И get. Другие, наиболее часто применяемые операции выглядят так:

sccs prt <имя_файла> - вывести протокол изменений файла, включая комментарии.

sccs dif fs <имя_файла> - выполнить сравнение двух версий файла.

sccs info <имя_файла> - перечислить все файлы текущего каталога, открытые на редактирование командой edit.

Обратим внимание на то, что системой отслеживаются именно изменения (дельты) между версиями, а не сами полные версии, что позволяет занимать небольшое количество дискового пространства. Каталог SCCS часто называют репозиторием проекта.

Как и все широко распространенные программы утилита SCCS имеет надстройки в виде графического интерфейса, например утилиту vertool.