CVS
Репозитарий CVS для группы
Если каждой из нескольких рабочих групп необходим собственный репозитарий CVS, то возможны два решения:
- разместить подкаталоги для проектов в едином корневом репозитарии CVS, что упростит архивацию;
- создать отдельный репозитарий для каждого проекта, что упростит настройку разрешений.
Последовательность команд для создания подкаталогов, а также задания разрешения владельца и группы для отдельных репозитариев подробно изложена в статье Создание общего репозитария CVS.
Создание общего репозитария CVS
Для создания репозитария CVS, совместно используемого группой пользователей, вначале создается владелец и группа, которым будет принадлежать репозитарий:
root@localhost:~:# groupadd cvsusers root@localhost:~:# useradd -g cvsusers -u 103 cvs
Затем создается репозитарий:
root@localhost:~:# mkdir /cvsroot root@localhost:~:# chown -R cvs /cvsroot root@localhost:~:# chown -R 770 /cvsroot root@localhost:~:# cvs -d /cvsroot init root@localhost:~:# chgrp cvsusers /cvsroot root@localhost:~:# chmod g+s /cvsroot
Удаление файла из репозитария CVS
Для того, чтобы удалить какой-либо файл из репозитария CVS, необходимо удалить этот файл из песочницы:
oleg@localhost:~/sandbox/linuxcookbook:$ \ > rm content/manpagesprint.html rm: удалить обычный файл `content/manpagesprint.html`? y
Затем следует выполнить команду remove:
oleg@localhost:~/sandbox/linuxcookbook:$ \ > cvs remove content/manpagesprint.html cvs remove: scheduling `content/manpagesprint.html` for removal cvs remove: use `cvs commit` to remove this file permanently
Помещение файла в репозитарий CVS
Для помещения нового файла в репозитарий CVS команды выполняются из рабочего каталога — песочницы. Там же должен располагаться и новый файл.
В начале работы следует прежде всего обновить локальные копии командой update, которая синхронизирует изменения по направлению из репозитария в песочницу:
oleg@localhost:~/sandbox/linuxcookbook:$ cvs update cvs update: Updating . cvs update: Updating content ? content/maninfopagesprint.html
Создание личного репозитария CVS
CVS (Concurrent Versions System), присутствующая практически во всех дистрибутивах Linux, легко масштабируется от хранения персональных данных до больших проектов. CVS в отличие от RCS включает поддержку сложной структуры каталогов и возможность одновременного извлечения группы файлов и целых каталогов.