Сперва необходимо инсталлировать пакет CVS; на Redhat Linux наберите:
cd /mnt/cdrom/Redhat/RPMS rpm -i rcs*.rpm rpm -i cvs*.rpm Для просмотра списка установленных файлов: rpm -qpl cvs*.rpm | less |
На других разновидностях Unix может понадобиться скачать tar-архивы RCS и CVS, а затем прочесть файлы README и INSTALL для установки CVS. Посетите http://www.cyclic.com и http://www.loria.fr/~molli/cvs-index.html.
Необходимо установить следующие переменные окружения в файле /etc/profile; для всех пользователей требуются значения по умолчанию. Если они не установлены в /etc/profile, то следует добавить их в Ваш локальный файл профиля ═/.bash_profile.
export EDITOR=/bin/vi export CVSROOT=/home/cvsroot export CVSREAD=yes |
Создайте каталог для хранения репозитория исходного кода и установите права на чтение/запись для группы/пользователя. Проверьте, чтобы имя каталога CVSROOT не содержало пробелов. Пример недопустимого значения CVSROOT: "/home/my rootcvs".
export CVSROOT=/home/cvsroot mkdir $CVSROOT chmod o-rwx $CVSROOT chmod ug+rwx $CVSROOT |
chgrp users $CVSROOT |
cvs init # Смена каталога обязательна cd $HOME/my_source_code_dir # Необходимо указать поставщика (напр., V1_0) и редакцию (напр., R1_0) cvs import my_source_code_dir V1_0 R1_0 |
Для переноса файлов из RCS в CVS воспользуйтесь следующим скриптом. Проверьте, установлен ли у Вас пакет оболочки Korn pdksh*.rpm с компакт-диска Linux.
ВНИМАНИЕ: оболочка Korn /bin/ksh устанавливается инсталляцией pdksh*.rpm с компакт-диска дистрибутива Linux
#!/bin/ksh ############################################################# # Программа для переноса существующего в RCS исходного кода # в CVS # # Нуждается в RPM-пакете pdksh*.rpm оболочки Korn c компакт- # диска Linux ############################################################# # # rcs2cvs - преобразование дерева исходного кода из RCS в CVS # # проект для преобразования PROJECT='project' # текущий корень RCS RCSROOT="$HOME/rcs" if cd "$RCSROOT/$PROJECT" then cd "$RCSROOT" else echo >&2 "`basename "$0"`: не могу перейти в каталог RCS '$RCSROOT/$PROJECT'." exit 1 fi # текущий корень CVS CVSROOT="$HOME/cvs" # создание нового каталога CVS для проекта "project" if mkdir "$CVSROOT/$PROJECT" then : else echo >&2 "`basename "$0"`: не могу создать CVS-каталог '$CVSROOT/$PROJECT'." exit 2 fi # создание дерева CVS-проекта из дерева RCS find "$PROJECT" -type d -name RCS -print | while read RCS do CVS="`dirname "$RCS"`" (if cd "$RCS" then # if find . -type f -name '*,v' -print | cpio -pdmv "$CVSROOT/$CVS" if find . -type f -print | cpio -pdmv "$CVSROOT/$CVS" then : else echo >&2 "`basename "$0"`: не могу преобразовать RCS-подкаталог '$RCSROOT/$RCS' в CVS-подкаталог '$CVSROOT/$CVS'." fi else echo >&2 "`basename "$0"`: не могу перейти в RCS-подкаталог '$RCSROOT/$RCS'." fi) done |