Анонимный 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:[email protected]:/home/ncvs (Используйте cvs login и введите любой пароль в ответ на приглашение.)
Франция: :pserver:[email protected]:/home/ncvs (pserver (пароль ''anoncvs''), ssh (нет пароля))
Германия: :pserver:[email protected]:/home/ncvs (Используйте cvs login и введите пароль ''anoncvs'' в ответ на приглашение.)
Германия: :pserver:[email protected]:/home/ncvs (rsh, pserver, ssh, ssh/2022)
Япония: :pserver:[email protected]:/home/ncvs (Используйте cvs login и введите пароль ''anoncvs'' в ответ на приглашение.)
США: [email protected]:/home/ncvs (только ssh - без пароля)
SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 [email protected] SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub
США: [email protected]:/home/ncvs (только ssh - без пароля)
SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc [email protected] SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub
Поскольку CVS позволяет выполнить ''check out'' практически любой версии исходных
текстов FreeBSD, которые когда-либо существовали (или, в некоторых случаях, будут
существовать), вам необходимо познакомиться с флагом cvs(1) для ревизий
(-r
) и с параметрами, которые могут быть использованы с этим
флагом в репозитории проекта FreeBSD.
Есть два вида тегов, теги ревизий и теги ветвей. Теги ревизий отвечают за определенную ревизию. Их значение остается прежним изо дня в день. Теги ветвей сопоставляются последней ревизии определенной ветви разработки, в любой момент времени. Поскольку теги ветвей не сопоставлены какой-то определенной ревизии, завтра они могут означать совсем не то, что сегодня.
Разд. A.7 содержит теги ревизий, которые могут заинтересовать пользователей. Опять же, ни один из них не подходит для коллекции портов, поскольку в коллекции портов нет разнообразия ревизий.
Если вы указываете тег ветви, то обычно получаете последнюю версию файлов этой ветви
разработки. Если вы хотите получить предыдущую версию, это можно сделать путем указания
даты флагом -D дата
. Обратитесь к странице справочника cvs(1) за более
подробной информацией.
Хотя перед тем, как что-то делать, рекомендуется полностью прочесть страницу справочника cvs(1), вот несколько кратких примеров использования Anonymous CVS:
Пример A-1. Извлечение кода из -CURRENT (ls(1)):
% setenv CVSROOT :pserver:[email protected]:/home/ncvs % cvs login At the prompt, enter the password ''anoncvs''. % cvs co ls
Пример A-2. Использование SSH для извлечения дерева src/:
% cvs -d [email protected]:/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.
Пример A-3. Извлечение ls(1) из ветви для 6-STABLE:
% setenv CVSROOT :pserver:[email protected]:/home/ncvs % cvs login At the prompt, enter the password ''anoncvs''. % cvs co -rRELENG_6 ls
Пример A-4. Создание списка изменений ls(1) (в виде unified diff)
% setenv CVSROOT :pserver:[email protected]:/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
Пример A-5. Поиск доступных имен модулей:
% setenv CVSROOT :pserver:[email protected]:/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.
Пред. | Начало | След. |
FTP сайты | Уровень выше | Использование CTM |
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <[email protected]>.
По вопросам, связанным с этой документацией, пишите <[email protected]>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <[email protected]>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.