Использование 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.

Пожалуйста, не добавляйте HTTPS ссылок на сайты Debian, DebConf или SPI. В настоящее время сертификаты SSL для этих сайтов подписаны SPI Certificate Authority, которая входит в список доверия на машинах, работающих под управлением Debian, но не входит в соответствующие списки браузеров на других платформах. Использование ссылок HTTPS для сайтов Debian приведёт к тому, что посетители могут столкнуться с сообщениями об ошибках SSL, после чего они выразят недовольство Debian по этому поводу. Репозиторий CVS будет отклонять внесение изменений, содержащих ссылки HTTPS на некоторые части сайтов Debian, которым не требуется SSL.

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

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