Анонимный CVS (известный также как,
anoncvs) это возможность, предоставляемая
утилитами CVS, поставляемыми с FreeBSD для синхронизации с удаленным
CVS репозиторием. Помимо прочего, он позволяет пользователям
FreeBSD без специальных привилегий (с правами только на чтение)
выполнять CVS операции на одном из официальных anoncvs серверов
проекта FreeBSD. Для использования этой возможности, просто
установите переменную CVSROOT
на соответствующий
сервер anoncvs, введите общеизвестный пароль «anoncvs»
в ответ на приглашение команды cvs login
, а
затем используйте cvs(1) для доступа к репозиторию как к
обычному локальному CVS.
Команда cvs login
сохраняет пароли,
использованные для авторизации на сервере CVS в файле с
именем .cvspass
в каталоге
HOME
. Если этот файл не существует, вы можете
получить сообщение об ошибке при первом запуске cvs
login
. Просто создайте пустой файл
.cvspass
и попробуйте еще раз.
Хотя можно сказать, что сервисы CVSup и anoncvs выполняют в сущности похожие функции, есть несколько отличий, которые могут повлиять на выбор метода синхронизации. По своей сути, CVSup гораздо более эффективно использует сетевые ресурсы, и из двух этих программ он более интеллектуален, но за его эффективность приходится платить. Во-первых, для того, чтобы появилась возможность хоть что-то получить этим методом, CVSup потребуется установить и настроить специальную программу, а во-вторых, этот CVSup позволяет синхронизацию только довольно больших частей исходных текстов, называемых коллекциями.
Anoncvs напротив может использоваться
для получения как одного файла, так и всей программы
(например ls
или grep
),
с помощью ссылки на имя модуля CVS. Конечно,
anoncvs хорошо подходит только при
операциях на чтение CVS репозитория, поэтому если вы намереваетесь
производить локальную разработку в одном из репозиториев
проекта FreeBSD, вам подойдет только
CVSup.
Настройка cvs(1) для использования анонимного CVS
репозитория означает установку переменной окружения
CVSROOT
на один из anoncvs
серверов проекта FreeBSD. На момент написания этого документа
доступны следующие сервера:
Австрия:
:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
(Используйте cvs login
и введите любой
пароль в ответ на приглашение.)
Франция: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (пароль «anoncvs»), ssh (нет пароля))
Германия:
:pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs
(Используйте cvs login
и введите пароль
«anoncvs» в ответ на приглашение.)
Германия: :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022)
Япония:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(Используйте cvs login
и введите пароль
«anoncvs» в ответ на приглашение.)
США: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (только ssh - без пароля)
США: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (только ssh - без пароля)
Поскольку CVS позволяет выполнить «check out»
практически любой версии исходных текстов FreeBSD, которые
когда-либо существовали (или, в некоторых случаях, будут
существовать), вам необходимо познакомиться с флагом
cvs(1) для ревизий (-r
) и с параметрами,
которые могут быть использованы с этим флагом в репозитории
проекта FreeBSD.
Есть два вида тегов, теги ревизий и теги ветвей. Теги ревизий отвечают за определенную ревизию. Их значение остается прежним изо дня в день. Теги ветвей сопоставляются последней ревизии определенной ветви разработки, в любой момент времени. Поскольку теги ветвей не сопоставлены какой-то определенной ревизии, завтра они могут означать совсем не то, что сегодня.
Раздел A.7, «Теги CVS» содержит теги ревизий, которые могут заинтересовать пользователей. Опять же, ни один из них не подходит для коллекции портов, поскольку в коллекции портов нет разнообразия ревизий.
Если вы указываете тег ветви, то обычно получаете последнюю
версию файлов этой ветви разработки. Если вы хотите получить
предыдущую версию, это можно сделать путем указания даты флагом
-D дата
. Обратитесь к странице справочника
cvs(1) за более подробной информацией.
Хотя перед тем, как что-то делать, рекомендуется полностью прочесть страницу справочника cvs(1), вот несколько кратких примеров использования Anonymous CVS:
%
setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
%
cvs login
At the prompt, enter the password «anoncvs».
%
cvs co ls
src/
:%
cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.%
setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
%
cvs login
At the prompt, enter the password «anoncvs».
%
cvs co -rRELENG_6 ls
%
setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
%
cvs login
At the prompt, enter the password «anoncvs».
%
cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
%
setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
%
cvs login
At the prompt, enter the password «anoncvs».
%
cvs co modules
%
more modules/modules
В изучении CVS могут помочь следующие дополнительные ресурсы:
Учебник по CVS от Cal Poly.
CVS Home, сообщество разработки и поддержки CVS.
CVSweb это веб интерфейс к CVS проекта FreeBSD.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.