Сперва необходимо инсталлировать пакет 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 |