Использование CVS

CVS — это программа, облегчающая нескольким людям работу над одним и тем же материалом одновременно. Каждый пользователь создаёт локальную копию основного репозитория. Локальные копии могут располагаться на той же самой машине или в любой другой точке мира. Пользователи могут изменять локальные копии по собственному усмотрению, и когда изменяемый материал готов, зафиксировать изменения в основном репозитории.

Для доступа в режиме только-для-чтения можно использовать веб-интерфейс. Также существует множество графических клиентов CVS, таких как cervisia для KDE. Этот документ описывает работу с программой cvs в командной строке, другие клиенты предоставляют схожую функциональность.

CVS не позволит зафиксировать изменения в файле, если его копия в основном репозитории изменилась после вашего последнего обновления. Это обычно не является проблемой, поскольку вы по-прежнему можете отредактировать вашу локальную копию. Если изменения были в тех областях, которые вы не трогали, изменения автоматически будут объединены. Если изменения затрагивают ту же часть файла, над которой работали вы, то программа предупредит вас о конфликте. Вы должны отредактировать файл, чтобы устранить проблему перед фиксированием изменений в репозитории.

В дальнейшем в качестве примера будет использоваться анонимный доступ. Если у вас есть учётная запись с правом на запись в репозиторий, пользуйтесь ей вместо анонимной. Если вы планируете делать изменения, вы должны получить учётную запись перед началом работы, поскольку анонимные пользователи не могут вносить изменения. См. более подробную информацию в разделе о доступе с правом на запись.

Чтобы начать использовать CVS, вы должны сначала войти на сервер CVS:

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml login

(для ввода пароля достаточно просто нажать enter)

Чтобы извлечь копию файлов wml на вашу локальную машину, следует использовать команду:

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout webwml

Вы можете извлечь не все страницы, а любое их подмножество:

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout -l \
          webwml webwml/<язык>
   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout \
          webwml/Perl webwml/english/template webwml/<язык>/Pics
   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout \
          webwml/<language>/<путь к желаемым файлам>

Повторите эти действия для всех подкаталогов или файлов, которые вам нужны. Вторая строка включает все файлы, которые вам будут необходимы, если вы захотите создать HTML из WML файлов. Частичные извлечения, подобные этим, не поддерживаются, так что эти команды могут работать не всегда.

Если у вас имеется учётная запись на Alioth с соответствующим публичным SSH-ключом, вы можете использовать её следующим образом:

   cvs -d :ext:username@cvs.debian.org:/cvs/webwml checkout webwml/english/doc

После этого вам уже не нужно использовать часть '-d:ext:... '. Каждые несколько дней вам нужно делать

   cvs update -d

для внесения изменений из репозитория в вашу локальную копию. Параметр команды update -d добавит все новые каталоги автоматически. Эта команда извлечёт все пропущенные каталоги, если вы выполнили частичное извлечение — в этом случае вы, вероятно, захотите использовать сценарий cvsup.py.

Вы также можете создать файл ~/.cvsrc, для того чтобы не обязательно было каждый раз набирать одни и те же параметры. Например, он может содержать:

cvs -z9
update -d -P
diff -u

Когда вы закончите работу над страницей, вы можете зафиксировать ваши изменения в репозиторий (если имеете право на запись):

   cvs commit <file>.wml

или

   cvs commit <dir> (чтобы внести все изменения в <каталоге>)

или

   cvs commit  (внести все изменения от текущего каталога и ниже)

Если вы первый, кто переводит страницу, перед её фиксированием нужно выполнить

   cvs add <file>.wml

Обратите внимание, что команда cvs add не рекурсивна, поэтому вы должны добавить каталог прежде, чем вы сможете добавить его содержимое.

Чтобы ознакомится с более подробной информацией о CVS, воспользуйтесь командой info cvs.

Если вы добавите Closes: #nnnnnn в запись вашего журнала изменений, то ошибка с номером #nnnnnn будет автоматически закрыта как только вы внесёте изменения на сервер. Точная форма этой строки совпадает с формой, указанной в стандартах Debian.

Многие веб-сайты Debian поддерживают SSL, используйте ссылки HTTPS для тех, сайтов которые имеют поддержку SSL. Некоторые веб-сайты Debian/DebConf/SPI/другие не имеют поддержки HTTPS, либо они подписаны только SPI, а не какой-либо авторитетной организацией SSL CA, которая входит в список доверенных организаций, поставляемый в составе браузеров не из репозиториев Debian. Для таких сайтов следует избегать ссылок на https-версии таких веб-сайтов, чтобы те, кто не использует Debian, не получали сообщений о непонятных ошибках. Репозиторий CVS отвергает коммиты, содержащие ссылки HTTP на веб-сайты Debian, поддерживающие HTTPS, а также коммиты, содержащие ссылки HTTPS на веб-сайты Debian/DebConf/SPI, о которых известно, что они не поддерживают HTTPS, либо используют сертификаты, подписанные только SPI.

Доступ к CVS с правом на запись

Если вы уже знаете, как помочь, и предоставили достаточное количество заплат, принятых командой, отвечающей за сайт, или командой локализации, вы можете получить полный доступ к сайту: пожалуйста, отправьте запрос на вступление в проект webwml на Alioth (вы должны будете создать учётную запись Alioth, если у вас ещё нет таковой). Пожалуйста, напишите что-нибудь полезное в вашем запросе. Например, над каким языком или какой частью сайта вы планируете работать, а также кто за вас поручится.