You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-ru/docs/tdevelop/tdevelop/cvs.docbook

76 lines
7.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<chapter id="cvs">
<title>Использование &CVS;</title>
<indexterm zone="cvs"><primary>CVS</primary></indexterm>
<indexterm zone="cvs"><primary>контроль версий</primary></indexterm>
<sect1 id="cvs-basics">
<title>Основы &CVS;</title>
<para>&CVS; &mdash; это система контроля версий, используемая большинством проектов с открытым исходным кодом, в т.ч. и &kde;. Она хранит весь исходный код в одном месте, называемом <emphasis>репозиторием</emphasis> (хранилищем). С помощью такого хранилища каждый может получить снимок исходного кода на определённый момент времени (и не обязательно на текущий). В отличии от других систем контроля версий, при работе над файлом разработчику не нужно его <emphasis>блокировать</emphasis>, что расширяет возможности параллельной разработки. </para>
<para>После выполнения задачи разработчик <emphasis>загружает</emphasis> (<emphasis>commit</emphasis>) изменённые файлы в хранилище (со списком изменений). &CVS; может объединять изменения в одном файле, сделанные несколькими людьми. Конечно, может случиться так, что разработчики работали над одной и той же частью файла, что приведёт к конфликту (на практике такое случается редко и является результатом недостаточного обсуждения процесса разработки). В таком случае &CVS; отказывается принять конфликтный файл и разработчику придётся устранять конфликт самостоятельно. </para>
<para>&CVS; может намного больше, например, вести несколько веток (branch) разработки (например &kde; 3.1.4 и &kde; 3.2 были разными ветками дерева разработки &kde;), перемещать изменения из одной ветки в другую, выводить различия между разными версиями файла, выводить историю изменений файла и т.д. </para>
<para>&CVS; реализован как система клиент-сервер. Со стороны пользователя связь с хранилищем идёт через консольную программу &cvs;. Однако доступно также большое количество графических интерфейсов к ней, например &cervisia; (<ulink url="http://cervisia.sf.net"></ulink>) или <application>TkCVS</application> (<ulink url="http://tkcvs.sf.net"></ulink>). В &tdevelop; напрямую доступна лишь небольшая часть функциональности &cvs;, необходимая для каждодневной работы. </para>
<para>Вам потребуется знание основ использования &CVS;, в частности, вы должны знать как загружать (checkout) проект из хранилища. Мы рекомендуем прочитать книгу <ulink url="http://cvsbook.red-bean.com/cvsbook.html">Open Source Development With CVS</ulink>, написанную Карлом Фогелем (Karl Fogel), распространяемую бесплатно (кроме нетехнических глав). Кроме того, вы можете прочитать о &CVS; по-русски на сайте <ulink url="http://www.linux.org.ru/books/GNU/cvs_ru/">linux.org.ru</ulink> </para>
</sect1> <!-- cvs-basics -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="cvs-commands">
<title>Команды &CVS; в &tdevelop;</title>
<para>В обзоре файлов доступны такие пункты контекстного меню: </para>
<variablelist>
<varlistentry>
<term>Добавить в хранилище</term>
<listitem>
<para>Подготавливает отмеченные файлы к передаче их в хранилище. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Удалить из хранилища</term>
<listitem>
<para>Подготавливает отмеченный файл к удалению из хранилища. При этом файл также удаляется на локальной файловой системе. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Обновить</term>
<listitem>
<para>Выполняет команду <command>cvs update</command> для объединения изменений, сделанных другими пользователями. Если вы вызываете эту команду для каталога, обновление происходит рекурсивно, если только вы не отключили это в конфигурационном файле <filename>.cvsrc</filename>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Передать на сервер</term>
<listitem>
<para>Выполняет команду <command>cvs commit</command> для передачи изменений, сделанных вами в хранилище. Помните, что перед этим необходимо выполнить обновление. Иначе, если другой пользователь уже передал свои изменения до этого, может возникнуть конфликт. </para>
</listitem>
</varlistentry>
</variablelist>
<para>Все эти команды запускаются как подпроцесс &tdevelop; без дополнительных ключей или переменных окружения. Это создаёт проблемы, например, когда вы работаете через соединение &ssh;, и вам нужно ввести пароль. Это необходимо, например, при работе с <filename>sourceforge.net</filename>. Работа над этой проблемой описана в FAQ &CVS;/SSH, который можно найти в разделе документации проекта SourceForge. </para>
</sect1> <!-- cvs-basics -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="cvs-behind">
<title>За кулисами</title>
<sect2 id="cvs-behind-workdir">
<title>Что &CVS; записывает в рабочем каталоге</title>
<para>(... в процессе написания ...) </para>
</sect2> <!-- cvs-behind-workdir -->
</sect1> <!-- cvs-behind -->
</chapter> <!-- cvs -->