CVS это сокращение для Concurrent Versions System; это система
для синхронизации набора файлов, помещенных в иерархическое дерево каталогов.
Люди могут обновить свои локальные копии иерархического дерева с
CVS сервера и, в свою очередь, прислать изменения или новые файлы; можно также
удалить старые файлы.
Эта клиент-серверная модель делает его многопользовательским,
работающим по сети. Эти возможности позволяют выбрать CVS для проектов
для которых несколько человек в разных местах должны работать вместе над
файлами данных, особенно над исходными кодами программ.
Все важные проекты free software используют CVS как центральное место, в котором
программисты собирают свои улучшения и изменения: Gnome, KDE,
The GIMP, Wine, и др.
И, конечно, так делает MandrakeSoft для своих разработок.
|
Для использования CVS вы должны подсоединиться (connect) к серверу и сделать локальную копию
необходимого вам модуля CVS. В следующий раз вам надо будет только сделать
обновление чтобы получить отличия со времени последнего подсоединения.
Это просто. Вам только нужен пакет cvs (входящий в стандартный
дистрибутив Mandrake) и место на диске, достаточное для того, что вы хотите
скачать.
Чтобы сообщить cvs к какому серверу вы хотите подсоединиться, под каким
идентификатором, и какой заголовок CVS нужен, надо задать переменную
CVSROOT, непример так:
export CVSROOT=:pserver:[email protected]:/home/cvs/cooker
если вы хотите подсоединиться к серверу linux-mandrake.com, идентифицировать
себя на сервере как anoncvs, и делать запросы относительно
заголовка CVS /home/cvs/cooker (на данном сервере их может быть
больше одного).
После того как переменная установлена можете подсоединяться; это делается
командой cvs login.
После этого у вас спросят пароль и voilЮ! вы подсоединены.
Следующий шаг необходим только для первого раза; вам надо создать
свежую копию нужной вам иерархии. Скажем, если вы хотите взять
иерархическое дерево po , наберите:
cvs -z3 checkout po
( -zX означает использование сжатия; поскольку обмен идет в основном плоскими
текстовыми файлами, для которых это полезно; можно увеличить число для большего
сжатия, или уменьшить для меньшего. (Имейте однако в виду, что увеличение сжатия
увеличит загрузку процессора у вас и на сервере)
Вы увидите множество сообщений на stdout, по мере получения файлов и записи
их на локалбный диск.as files are get and copied
В следующий раз уже не надо будет делать cvs checkout; просто cvs login
(не забудьте о переменной окружения CVSROOT), после чего обновите cvs,
вроде следующего:
cd po
cvs -z3 upgrade -d
Обратите внимание, что я перешел в каталог po; мне это кажется проще.
-d означает, что надо создать и забрать все каталоги, которые сервер CVS
мог создать с прошлого соединения. -zX имеет то же значение, что и в
cvs checkout
При помощи этих простых команд вы всегда можете получить последние материалы
по любому проекту к CVS которого вы имеете доступ на чтение.
Но используйте эти возможности по назначению: требуется значительная
пропускная способность и ресурсы сервера для организации этого сервиса;
если вам не требуются исходные тексты, не пользуйтесь этим. С другой стороны,
если вы всерьез намерены внести вклад в мир free software, (а для этого не
обязательно быть программистом; есть жесточайшая потребность в переводчиках,
авторах текстов, дизайнеров,...) вам нужны инструменты для получения файлов
до их официального выпуска возможность посылать ваши предложения, исправления,
и т.п.
Если у вас есть доступ на запись к CVS вы можете также напрямую выкладывать
изменения.
Вам доступны три вида изменений:
- изменение существующих файлов:просто измените файл (отредактируйте его,
или скопируйте другой файл поверх него).
- добавление новых файлов/каталогов:Их надо скопировать (в случае каталогов -
создать их) затем вызвать cvs add newfileordir чтобы сообщить,
что вы хотите создать объект.
- remove files/dirs:You need to first remove them locally, then
call cvs delete removedfileordir
(yes, it is a little annoying, as you can't use completion
or shell special chars *? in the cvs delete command line (as
you can do with cvs add for exemple)
Затем вы набираете cvs -z3 commit (-zX снова имеет привычное значение)
и только после этого сделанные вами изменения попадут на сервер.
Вы должны будете в своем любимом редакторе (заданном переменной окружения
EDITOR) составить некоторое описание, к чему ваши изменения
(это будет храниться в протоколах сервера CVS и позволит упростить откатку в
случае возникновения проблем)
Имейте в виду. что если сервер имеет более свежую версию файлов, которые
вы хотите положить, произойдет ошибка; так что рекомендуется обновлять cvs
прежде всего.
Доступные в настоящее время модули CVS на сервере mandrake-linux.com
- po: дает доступ к переводам описаний, используемых в пакетах
rpm (можно подсоединиться анонимно с именем (login) anoncvs
и паролем cvs; если вам нужен доступ на запись, обратитесь к
Chmouel Boudjna)
- .... (эта страница еще не закончена
:) )
|