[svnbook commit] r2645 - trunk/src/ru/book
dmitriy
noreply at red-bean.com
Sun Feb 4 06:25:32 CST 2007
Author: dmitriy
Date: Sun Feb 4 06:25:30 2007
New Revision: 2645
Modified:
trunk/src/ru/book/ch-introduction.xml (contents, props changed)
trunk/src/ru/book/ch-preface.xml (contents, props changed)
Log:
Book Russian. Merge with changes from r2569, r2570 of the src/en/book. More detail in log for r2569, r2570.
Modified: trunk/src/ru/book/ch-introduction.xml
==============================================================================
--- trunk/src/ru/book/ch-introduction.xml (original)
+++ trunk/src/ru/book/ch-introduction.xml Sun Feb 4 06:25:30 2007
@@ -46,556 +46,6 @@
<!-- ================================================================= -->
<!-- ================================================================= -->
<!-- ================================================================= -->
- <sect1 id="svn.intro.whatis">
-
- <!-- @ENGLISH {{{
- <title>What is Subversion?</title>
- @ENGLISH }}} -->
- <title>Что такое Subversion?</title>
-
- <!-- @ENGLISH {{{
- <para>Subversion is a free/open-source version control system.
- That is, Subversion manages files and directories over time. A
- tree of files is placed into a central
- <firstterm>repository</firstterm>. The repository is much like
- an ordinary file server, except that it remembers every change
- ever made to your files and directories. This allows you to
- recover older versions of your data, or examine the history of
- how your data changed. In this regard, many people think of a
- version control system as a sort of <quote>time
- machine</quote>.</para>
- @ENGLISH }}} -->
- <para>Subversion — это бесплатная система управления версиями с
- открытым исходным кодом. Subversion позволяет управлять файлами и
- каталогами во времени. Файловая структура помещается в центральное
- <firstterm>хранилище</firstterm>, которое на первый взгляд смахивает на
- обычный файловый сервер, с тем лишь отличием, что оно запоминает каждое
- изменение, сделанное с файлом или каталогом. Это позволяет восстановить
- более ранние версии данных, даёт возможность изучить историю всех
- изменений. Благодаря этому многие считают систему управления версиями
- своего рода <quote>машиной времени</quote>.</para>
-
- <!-- @ENGLISH {{{
- <para>Subversion can access its repository across networks, which
- allows it to be used by people on different computers. At some
- level, the ability for various people to modify and manage the
- same set of data from their respective locations fosters
- collaboration. Progress can occur more quickly without a single
- conduit through which all modifications must occur. And because
- the work is versioned, you need not fear that quality is the
- trade-off for losing that conduit—if some incorrect change
- is made to the data, just undo that change.</para>
- @ENGLISH }}} -->
- <para>Subversion обращается к хранилищу по сети, что позволяет
- использовать её на разных компьютерах. Возможность совместной
- работы над единым комплектом данных поощряет сотрудничество. Когда
- нет того ответственного звена цепи, того контролирующего элемента,
- который утверждает все изменения, работа становится более эффективной.
- При этом не нужно опасаться, что отказ от контролирующего элемента
- повлияет на качество, ведь благодаря сохранению истории изменений,
- даже если при изменении данных будут допущены ошибки, всегда можно
- сделать откат изменений к прежнему состоянию.</para>
-
- <!-- @ENGLISH {{{
- <para>Some version control systems are also software configuration
- management (SCM) systems. These systems are specifically
- tailored to manage trees of source code, and have many features
- that are specific to software development—such as natively
- understanding programming languages, or supplying tools for
- building software. Subversion, however, is not one of these
- systems. It is a general system that can be used to manage
- <emphasis>any</emphasis> collection of files. For you, those
- files might be source code—for others, anything from
- grocery shopping lists to digital video mixdowns and
- beyond.</para>
- @ENGLISH }}} -->
- <para>Некоторые системы управления версиями выступают также в
- качестве систем управления конфигурацией программного обеспечения
- (SCM<footnote><para>Software Configuration
- Management</para></footnote>). Такие системы специально созданы для
- управления деревьями исходного кода и имеют множество особенностей,
- непосредственно относящихся к разработке программ: они понимают языки
- программирования и предоставляют инструменты для сборки программ.
- Subversion не является такой системой, она представляет собой систему
- общего назначения, которую можно использовать для управления
- <emphasis>любым</emphasis> набором файлов. Для Вас это будут исходники
- Ваших программ, а для кого-то другого это будет список продуктов или
- сведённое цифровое видео.</para>
-
- </sect1>
-
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <sect1 id="svn.intro.history">
-
- <!-- @ENGLISH {{{
- <title>Subversion's History</title>
- @ENGLISH }}} -->
- <title>История Subversion</title>
-
- <!-- @ENGLISH {{{
- <para>In early 2000, CollabNet,
- Inc. (<ulink url="http://www.collab.net"/>) began seeking
- developers to write a replacement for CVS. CollabNet offers a
- collaboration software suite called CollabNet Enterprise Edition
- (CEE)
- <footnote>
- <para>There's also a CollabNet Team Edition (CTE)
- offering aimed at smaller groups.</para>
- </footnote>
- of which one component is version control. Although
- CEE used CVS as its initial version control system, CVS's
- limitations were obvious from the beginning, and CollabNet knew
- it would eventually have to find something better.
- Unfortunately, CVS had become the <foreignphrase>de
- facto</foreignphrase> standard in the open source world largely
- because there <emphasis>wasn't</emphasis> anything better, at
- least not under a free license. So CollabNet determined to
- write a new version control system from scratch, retaining the
- basic ideas of CVS, but without the bugs and misfeatures.</para>
- @ENGLISH }}} -->
- <para>В начале 2000 года компания CollabNet, Inc. (<ulink
- url="http://www.collab.net"/>) начала поиск людей для написания
- системы, способной заменить CVS. CollabNet предлагает комплекс
- программных средств для совместной работы, известный под названием
- CollabNet Enterprise Edition (CEE) <footnote><para>Кроме того, еще
- существует CollabNet Team Edition (CTE), предназначенный в основном
- для небольших команд разработчиков.</para></footnote>, одним из
- составляющих которого является срество для управления версиями.
- В качестве такого средства в CEE использовалась CVS, хотя её недостатки
- были очевидны с самого начала, и для CollabNet было ясно, что рано или
- поздно придётся искать замену. К сожалению, CVS стала стандартом
- <foreignphrase>де-факто</foreignphrase> в мире открытого программного
- обеспечения, причём по той лишь причине, что ничего лучшего в то время
- <emphasis>не существовало</emphasis>, по крайней мере среди программ со
- свободной лицензией. И тогда CollabNet решила написать новую систему
- управления версиями с нуля, сохранив основные идеи CVS, но без ошибок и
- неудобств, присущих CVS.</para>
-
- <!-- @ENGLISH {{{
- <para>In February 2000, they contacted Karl Fogel, the author of
- <citetitle>Open Source Development with CVS</citetitle>
- (Coriolis, 1999), and asked if he'd like to work on this new
- project. Coincidentally, at the time Karl was already
- discussing a design for a new version control system with his
- friend Jim Blandy. In 1995, the two had started Cyclic
- Software, a company providing CVS support contracts, and
- although they later sold the business, they still used CVS every
- day at their jobs. Their frustration with CVS had led Jim to
- think carefully about better ways to manage versioned data, and
- he'd already come up with not only the name
- <quote>Subversion</quote>, but also with the basic design of the
- Subversion repository. When CollabNet called, Karl immediately
- agreed to work on the project, and Jim got his employer, Red Hat
- Software, to essentially donate him to the project for an
- indefinite period of time. CollabNet hired Karl and Ben
- Collins-Sussman, and detailed design work began in May. With
- the help of some well-placed prods from Brian Behlendorf and
- Jason Robbins of CollabNet, and Greg Stein (at the time an
- independent developer active in the WebDAV/DeltaV specification
- process), Subversion quickly attracted a community of active
- developers. It turned out that many people had had the same
- frustrating experiences with CVS, and welcomed the chance to
- finally do something about it.</para>
- @ENGLISH }}} -->
- <para>В феврале 2000 года CollabNet связалась с автором книги
- <citetitle>Open Source Development with CVS</citetitle>
- <footnote><para><quote>Разработка программн с открытым исходным кодом с
- помощью CVS</quote></para></footnote> Карлом Фогелем [Karl Fogel] и
- предложила ему принять участие в этом новом проекте. Самое интересное
- то, что Карл как раз тогда уже обсуждал проект новой системы управления
- версиями со своим другом Джимом Блэнди [Jim Blandy]. Ещё в 1995 году
- они создали компанию Cyclic Software, которая занималась поддержкой
- пользователей CVS, и хотя позднее этот бизнес был продан, друзья
- продолжали использовать CVS в повседневной работе. Их разочарование в
- CVS привело Джима к обдумыванию улучшения принципов управления
- версиями. Впоследствии Джим не только придумал название
- <quote>Subversion</quote>, но и разработал основные принципы устройства
- хранилища Subversion. Карл сразу согласился на предложение CollabNet, а
- работодатель Джима, RedHat Software, пожертвовал своим сотрудником для
- этого проекта, предоставив ему возможность работать над Subversion в
- течение неограниченного времени. CollabNet взяла на работу Карла и Бена
- Коллинза-Сассмана [Ben Collins-Sussman], и в мае началась работа по
- проектированию системы. Благодаря нескольким интуитивно точным шагам,
- предпринятых Брайаном Белендорфом [Brian Behlendorf] и Джейсоном
- Роббинсом [Jason Robbins] из CollabNet и Грегом Стайном, на тот момент
- независимым разработчиком, активно участвующим в создании спецификации
- WebDAV/DeltaV, вокруг Subversion быстро образовалось сообщество
- активных разработчиков. Оказалось, что многие люди испытывали похожее
- чувство разочарования от CVS, и они с радостью приветствовали
- появившуюся, наконец, возможность изменить положение вещей.</para>
-
- <!-- @ENGLISH {{{
- <para>The original design team settled on some simple goals. They
- didn't want to break new ground in version control methodology,
- they just wanted to fix CVS. They decided that Subversion would
- match CVS's features, and preserve the same development model,
- but not duplicate CVS's most obvious flaws. And although it did
- not need to be a drop-in replacement for CVS, it should be
- similar enough that any CVS user could make the switch with
- little effort.</para>
- @ENGLISH }}} -->
- <para>Стартовый коллектив разработчиков решил остановиться на достижении
- ряда простых целей. Они не собирались изобретать велосипед в подходах к
- управлению версиями, скорее им просто хотелось исправить CVS. Этот
- коллектив решил, что Subversion должна соответствовать CVS по набору
- возможностей, сохранить ту же самую модель разработки и избежать
- недостатков CVS. Хотя перед ними не стояла задача сделать систему,
- полностью идентичную CVS, было ясно, что Subverion должна быть похожа
- на CVS, чтобы любой пользователь CVS мог перейти на новую систему без
- особых затруднений.</para>
-
- <!-- @ENGLISH {{{
- <para>After fourteen months of coding, Subversion became
- <quote>self-hosting</quote> on August 31, 2001. That is,
- Subversion developers stopped using CVS to manage Subversion's
- own source code, and started using Subversion instead.</para>
- @ENGLISH }}} -->
- <para>И вот, 31 августа 2001 года, спустя четырнадцать месяцев с начала
- работы, команда прекратила использовать CVS и перешла на Subversion для
- управления версиями собственного исходного кода — Subversion
- стала <quote>самодостаточной</quote>.</para>
-
- <!-- @ENGLISH {{{
- <para>While CollabNet started the project, and still funds a large
- chunk of the work (it pays the salaries of a few full-time
- Subversion developers), Subversion is run like most open-source
- projects, governed by a loose, transparent set of rules that
- encourage meritocracy. CollabNet's copyright license is fully
- compliant with the Debian Free Software Guidelines. In other
- words, anyone is free to download, modify, and redistribute
- Subversion as he pleases; no permission from CollabNet or anyone
- else is required.</para>
- @ENGLISH }}} -->
- <para>Хотя CollabNet стоит у истоков проекта и продолжает финансировать
- основную часть работы, оплачивая полный рабочий день нескольких ведущих
- разработчиков, Subversion развивается подобно большинству проектов с
- открытым исходным кодом, управляясь свободным и прозрачным набором
- правил, поощряющих меритократию. Лицензия CollabNet полностью
- соответствует принципам свободного программного обеспечения Debian
- — любой человек может устанавливать, изменять и распространять
- Subversion так, как ему заблагорассудится; для этого не требуется
- разрешения ни от CollabNet, ни от кого-либо ещё.</para>
-
- </sect1>
-
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <sect1 id="svn.intro.features">
-
- <!-- @ENGLISH {{{
- <title>Subversion's Features</title>
- @ENGLISH }}} -->
- <title>Возможности Subversion</title>
-
- <!-- @ENGLISH {{{
- <para>When discussing the features that Subversion brings to the
- version control table, it is often helpful to speak of them in
- terms of how they improve upon CVS's design. If you're not
- familiar with CVS, you may not understand all of these features.
- And if you're not familiar with version control at all, your
- eyes may glaze over unless you first read <xref
- linkend="svn.basic"/>, in which we provide a gentle introduction
- to version control in general.</para>
- @ENGLISH }}} -->
- <para>Обсуждать возможности Subversion удобнее всего в разрезе
- её улучшений по сравнению с CVS. Суть некоторых рассматриваемых
- здесь возможностей может быть не совсем понятна читателям, которые
- плохо знакомы с CVS. Если же вы совсем не имеете представления об
- управлении версиями, то вам лучше сначала прочитать <xref
- linkend="svn.basic" endterm="svn.basic.accusative-case"/>, где
- даётся доступное введение в управление версиями.
- </para>
-
- <!-- @ENGLISH {{{
- <para>Subversion provides:</para>
- @ENGLISH }}} -->
- <para>Subversion предоставляет следующие возможности:</para>
-
- <!-- @ENGLISH {{{
- <variablelist>
- <varlistentry>
- <term>Directory versioning</term>
- <listitem>
- <para>CVS only tracks the history of individual files, but
- Subversion implements a <quote>virtual</quote> versioned
- filesystem that tracks changes to whole directory trees
- over time. Files <emphasis>and</emphasis> directories are
- versioned.</para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <variablelist>
- <varlistentry>
- <term>Контроль изменений каталогов</term>
- <listitem>
- <para>CVS следит только за историей отдельных файлов, тогда
- как Subversion использует <quote>виртуальную</quote>
- файловую систему с возможностями управления версиями,
- которая способна отслеживать изменения во времени целых
- структур каталогов. Под управление версиями попадают и файлы,
- <emphasis>и</emphasis> каталоги.</para>
- </listitem>
- </varlistentry>
-
- <!-- @ENGLISH {{{
- <varlistentry>
- <term>True version history</term>
- <listitem>
- Since CVS is limited to file versioning, operations
- such as copies and renames—which might happen to
- files, but which are really changes to the contents of
- some containing directory—aren't supported in CVS.
- Additionally, in CVS you cannot replace a versioned file
- with some new thing of the same name without the new item
- inheriting the history of the old—perhaps completely
- unrelated—file. With Subversion, you can add,
- delete, copy, and rename both files and directories. And
- every newly added file begins with a fresh, clean
- history all its own.</para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <varlistentry>
- <term>Настоящая история версий</term>
- <listitem>
- <para>CVS контролирует лишь изменения файлов, поэтому
- такие операции, как копирование и переименование, хотя и
- относящиеся к файлам, но по существу являющиеся изменениями
- каталогов, содержащих эти файлы, в CVS не поддерживаются.
- Кроме того, в CVS вы не можете заменить файл, помещённый под
- управление версиями, другим файлом с тем же именем, но
- совершенно иным содержанием, возможно никак не связанным со
- старым объектом, без наследования таким элементом всей
- истории изменений. Subversion делает возможным добавление,
- удаление, копирование и переименование как файлов, так и
- каталогов. При этом каждый вновь добавленный файл начинает
- жизнь с чистого листа, сохраняя собственную историю
- изменений.</para>
- </listitem>
- </varlistentry>
-
- <!-- @ENGLISH {{{
- <varlistentry>
- <term>Atomic commits</term>
- <listitem>
- <para>A collection of modifications either goes into the
- repository completely, or not at all. This allows
- developers to construct and commit changes as logical
- chunks, and prevents problems that can occur when only a
- portion of a set of changes is successfully sent to the
- repository.</para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <varlistentry>
- <term>Атомарная фиксация изменений</term>
- <listitem>
- <para>Каждый набор изменений либо попадает в хранилище
- целиком, либо не попадает туда вовсе. Это позволяет
- разработчикам создавать и фиксировать изменения логически
- оправданными кусками, предотвращая тем самым проблемы,
- которые могут возникать в тех случаях, когда только часть
- необходимых изменений помещается в хранилище успешно.</para>
- </listitem>
- </varlistentry>
-
- <!-- @ENGLISH {{{
- <varlistentry>
- <term>Versioned metadata</term>
- <listitem>
- <para>Each file and directory has a set of
- properties—keys and their values—associated
- with it. You can create and store any arbitrary key/value
- pairs you wish. Properties are versioned over time, just
- like file contents.</para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <varlistentry>
- <term>Метаданные с версиями</term>
- <listitem>
- <para>Каждый файл и каталог имеет собственный набор свойств,
- представленных в виде названия и значения. Вы можете
- создавать и сохранять любые необходимые пары названий
- свойств и их значений. Свойства файлов точно так же
- находятся под управлением версиями, как и их
- содержимое.</para>
- </listitem>
- </varlistentry>
-
- <!-- @ENGLISH {{{
- <varlistentry>
- <term>Choice of network layers</term>
- <listitem>
- <para>Subversion has an abstracted notion of repository
- access, making it easy for people to implement new network
- mechanisms. Subversion can plug into the Apache HTTP
- Server as an extension module. This gives Subversion a
- big advantage in stability and interoperability, and
- instant access to existing features provided by that
- server—authentication, authorization, wire
- compression, and so on. A more lightweight, standalone
- Subversion server process is also available. This server
- speaks a custom protocol which can be easily tunneled over
- SSH.</para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <varlistentry>
- <term>Выбор средств доступа к хранилищу по сети</term>
- <listitem>
- <para>В Subversion используется абстракция доступа к
- хранилищу, что позволяет реализовывать самые разные сетевые
- механизмы доступа. Subversion может быть подключена к
- серверу HTTP Apache в виде модуля, что даёт ей огромное
- преимущество с точки зрения устойчивости работы и способности
- к взаимодействию, а также предоставляет прямой доступ к
- существующим возможностям этого сервера, включая
- установление личности, проверку прав доступа и сжатие
- информации при передаче. Кроме того, имеется лёгкий
- самостоятельный сервер Subversion, который использует
- собственный протокол взаимодействия с клиентами и может
- легко туннелировать данные через SSH.</para>
- </listitem>
- </varlistentry>
-
- <!-- @ENGLISH {{{
- <varlistentry>
- <term>Consistent data handling</term>
- <listitem>
- <para>Subversion expresses file differences using a binary
- differencing algorithm, which works identically on both
- text (human-readable) and binary (human-unreadable) files.
- Both types of files are stored equally compressed in the
- repository, and differences are transmitted in both
- directions across the network.</para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <varlistentry>
- <term>Единый способ работы с данными</term>
- <listitem>
- <para>Subversion обнаруживает различия между файлами с помощью
- специального бинарного алгоритма, который одинаково работает
- как с текстовыми, так и с бинарными файлами. Файлы
- записываются в хранилище в сжатом виде независимо от их
- типа, а различия между отдельными версиями могут
- передаваться по сети в обоих направлениях.</para>
- </listitem>
- </varlistentry>
-
- <!-- @ENGLISH {{{
- <varlistentry>
- <term>Efficient branching and tagging</term>
- <listitem>
- <para>The cost of branching and tagging need not be
- proportional to the project size. Subversion creates
- branches and tags by simply copying the project, using a
- mechanism similar to a hard-link. Thus these operations
- take only a very small, constant amount of time.
- </para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <varlistentry>
- <term>Эффективные ветки и метки</term>
- <listitem>
- <para>Плата за использование веток и меток не должна быть
- пропорциональна размеру проекта. Subversion создаёт ветки и
- метки путём простого копирования проекта, используя
- механизм, похожий на жёсткие ссылки в файловых системах.
- Благодаря этому, операции по созданию веток и меток занимают
- немного времени.
- </para>
- </listitem>
- </varlistentry>
-
- <!-- @ENGLISH {{{
- <varlistentry>
- <term>Hackability</term>
- <listitem>
- <para>Subversion has no historical baggage; it is
- implemented as a collection of shared C libraries with
- well-defined APIs. This makes Subversion extremely
- maintainable and usable by other applications and
- languages.</para>
- </listitem>
- </varlistentry>
- @ENGLISH }}} -->
- <varlistentry>
- <term>Дружелюбность по отношению к разработчикам</term>
- <listitem>
- <para>Subversion не имеет исторического багажа. Она
- реализована в виде набора динамических библиотек на языке C,
- API которых хорошо известен. Это делает Subversion
- чрезвычайно удобной для сопровождения системой, пригодной
- для взаимодействия с другими приложениями и языками
- программирования.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- </sect1>
-
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <sect1 id="svn.intro.architecture">
-
- <!-- @ENGLISH {{{
- <title>Subversion's Architecture</title>
- @ENGLISH }}} -->
- <title>Архитектура Subversion</title>
-
- <!-- @ENGLISH {{{
- <para><xref linkend="svn.intro.architecture.dia-1"/> illustrates what one might
- call a <quote>mile-high</quote> view of Subversion's
- design.</para>
- @ENGLISH }}} -->
- <para>Общий взгляд на устройство Subversion показан на <xref
- linkend="svn.intro.architecture.dia-1"
- endterm="svn.intro.architecture.dia-1.prepositional-case"/>.</para>
-
- <figure id="svn.intro.architecture.dia-1">
- <!-- @ENGLISH {{{
- <title>Subversion's Architecture</title>
- @ENGLISH }}} -->
- <title>Архитектура Subversion</title>
- <graphic fileref="images/ch01dia1.png"/>
- </figure>
-
- <!-- @ENGLISH {{{
- <para>On one end is a Subversion repository that holds all of your
- versioned data. On the other end is your Subversion client
- program, which manages local reflections of portions of that
- versioned data (called <quote>working copies</quote>). Between
- these extremes are multiple routes through various Repository
- Access (RA) layers. Some of these routes go across computer
- networks and through network servers which then access the
- repository. Others bypass the network altogether and access the
- repository directly.</para>
- @ENGLISH }}} -->
- <para>На одной стороне схемы изображено хранилище Subversion, в
- котором хранится информация с версиями. На противоположной стороне
- показана программа-клиент Subversion, которая управляет локальными
- отражениями различных фрагментов этих данных (также называемыми
- <quote>рабочими копиями</quote>). Между этими сторонами проложены
- различные маршруты, проходящие через разные слои доступа к
- хранилищу<footnote><para>Repository Access (RA)
- layers</para></footnote>. Некоторые из этих маршрутов
- используют компьютерные сети и сетевые сервера, чтобы достичь
- хранилища, в то время как другие маршруты в сети не нуждаются и
- ведут к хранилищу напрямую.</para>
-
- </sect1>
-
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <!-- ================================================================= -->
<sect1 id="svn.intro.install">
<!-- @ENGLISH {{{
@@ -689,128 +139,6 @@
<!-- ================================================================= -->
<!-- ================================================================= -->
<!-- ================================================================= -->
- <sect1 id="svn.intro.components">
-
- <!-- @ENGLISH {{{
- <title>Subversion's Components</title>
- @ENGLISH }}} -->
- <title>Компоненты Subversion</title>
-
- <!-- @ENGLISH {{{
- <para>Subversion, once installed, has a number of different
- pieces. The following is a quick overview of what you get.
- Don't be alarmed if the brief descriptions leave you scratching
- your head—there are <emphasis>plenty</emphasis> more pages
- in this book devoted to alleviating that confusion.</para>
- @ENGLISH }}} -->
- <para>Установленная Subversion имеет определенное количество компонентов.
- Ниже перечисленное - краткий обзор того, что вы получаете. Не тревожьтесь
- если краткие описания заставляют вас чесать затылок, в этой книге есть
- еще <emphasis>много</emphasis> страниц, посвященных облегчению
- этого беспорядка.
- </para>
-
- <variablelist>
- <varlistentry>
- <term>svn</term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>The command-line client program.</para>
- @ENGLISH }}} -->
- <para>CLI-клиент.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>svnversion</term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>A program for reporting the state (in terms of
- revisions of the items present) of a working copy.</para>
- @ENGLISH }}} -->
- <para>Программа показывающая состояние (в пределах ревизий
- существующих элементов) рабочей копии.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>svnlook</term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>A tool for inspecting a Subversion repository.</para>
- @ENGLISH }}} -->
- <para>Инструмент для контроля Subversion хранилища.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>svnadmin</term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>A tool for creating, tweaking or repairing a Subversion
- repository.</para>
- @ENGLISH }}} -->
- <para>Инструмент для создания, настройки или восстановления
- Subversion хранилища.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>svndumpfilter</term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>A program for filtering Subversion repository dump
- streams.</para>
- @ENGLISH }}} -->
- <para>Программа для фильтрации дамповых потоков
- Subversion хранилища.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>mod_dav_svn</term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>A plug-in module for the Apache HTTP Server, used to
- make your repository available to others over a
- network.</para>
- @ENGLISH }}} -->
- <para>Подключаемый модуль для HTTP сервера Apache, использующийся
- для предоставления сетевого доступа к вашему хранилищу.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>svnserve</term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>A custom standalone server program, runnable as a
- daemon process or invokable by SSH; another way to make
- your repository available to others over a network.</para>
- @ENGLISH }}} -->
- <para>Собственный отдельный сервер, запускается как
- процесс-демон и доступен посредством SSH; еще один способ
- для предоставления сетевого доступа к хранилищу.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <!-- @ENGLISH {{{
- <para>Assuming you have Subversion installed correctly, you should
- be ready to start. The next two chapters will walk you through
- the use of <command>svn</command>, Subversion's command-line client
- program.</para>
- @ENGLISH }}} -->
- <para>При условии корректно установленной Subversion вы готовы к старту.
- Следующие две главы описывают использование <command>svn</command>,
- CLI-клиента Subversion.</para>
-
- </sect1>
-
-
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <!-- ================================================================= -->
<sect1 id="svn.intro.quickstart">
<!-- @ENGLISH {{{
@@ -1118,4 +446,3 @@
vim: tw=78:ft=svnbook
-->
-
Modified: trunk/src/ru/book/ch-preface.xml
==============================================================================
--- trunk/src/ru/book/ch-preface.xml (original)
+++ trunk/src/ru/book/ch-preface.xml Sun Feb 4 06:25:30 2007
@@ -1064,6 +1064,669 @@
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <sect1 id="svn.intro.whatis">
+
+ <!-- @ENGLISH {{{
+ <title>What is Subversion?</title>
+ @ENGLISH }}} -->
+ <title>Что такое Subversion?</title>
+
+ <!-- @ENGLISH {{{
+ <para>Subversion is a free/open-source version control system.
+ That is, Subversion manages files and directories over time. A
+ tree of files is placed into a central
+ <firstterm>repository</firstterm>. The repository is much like
+ an ordinary file server, except that it remembers every change
+ ever made to your files and directories. This allows you to
+ recover older versions of your data, or examine the history of
+ how your data changed. In this regard, many people think of a
+ version control system as a sort of <quote>time
+ machine</quote>.</para>
+ @ENGLISH }}} -->
+ <para>Subversion — это бесплатная система управления версиями с
+ открытым исходным кодом. Subversion позволяет управлять файлами и
+ каталогами во времени. Файловая структура помещается в центральное
+ <firstterm>хранилище</firstterm>, которое на первый взгляд смахивает на
+ обычный файловый сервер, с тем лишь отличием, что оно запоминает каждое
+ изменение, сделанное с файлом или каталогом. Это позволяет восстановить
+ более ранние версии данных, даёт возможность изучить историю всех
+ изменений. Благодаря этому многие считают систему управления версиями
+ своего рода <quote>машиной времени</quote>.</para>
+
+ <!-- @ENGLISH {{{
+ <para>Subversion can access its repository across networks, which
+ allows it to be used by people on different computers. At some
+ level, the ability for various people to modify and manage the
+ same set of data from their respective locations fosters
+ collaboration. Progress can occur more quickly without a single
+ conduit through which all modifications must occur. And because
+ the work is versioned, you need not fear that quality is the
+ trade-off for losing that conduit—if some incorrect change
+ is made to the data, just undo that change.</para>
+ @ENGLISH }}} -->
+ <para>Subversion обращается к хранилищу по сети, что позволяет
+ использовать её на разных компьютерах. Возможность совместной
+ работы над единым комплектом данных поощряет сотрудничество. Когда
+ нет того ответственного звена цепи, того контролирующего элемента,
+ который утверждает все изменения, работа становится более эффективной.
+ При этом не нужно опасаться, что отказ от контролирующего элемента
+ повлияет на качество, ведь благодаря сохранению истории изменений,
+ даже если при изменении данных будут допущены ошибки, всегда можно
+ сделать откат изменений к прежнему состоянию.</para>
+
+ <!-- @ENGLISH {{{
+ <para>Some version control systems are also software configuration
+ management (SCM) systems. These systems are specifically
+ tailored to manage trees of source code, and have many features
+ that are specific to software development—such as natively
+ understanding programming languages, or supplying tools for
+ building software. Subversion, however, is not one of these
+ systems. It is a general system that can be used to manage
+ <emphasis>any</emphasis> collection of files. For you, those
+ files might be source code—for others, anything from
+ grocery shopping lists to digital video mixdowns and
+ beyond.</para>
+ @ENGLISH }}} -->
+ <para>Некоторые системы управления версиями выступают также в
+ качестве систем управления конфигурацией программного обеспечения
+ (SCM<footnote><para>Software Configuration
+ Management</para></footnote>). Такие системы специально созданы для
+ управления деревьями исходного кода и имеют множество особенностей,
+ непосредственно относящихся к разработке программ: они понимают языки
+ программирования и предоставляют инструменты для сборки программ.
+ Subversion не является такой системой, она представляет собой систему
+ общего назначения, которую можно использовать для управления
+ <emphasis>любым</emphasis> набором файлов. Для Вас это будут исходники
+ Ваших программ, а для кого-то другого это будет список продуктов или
+ сведённое цифровое видео.</para>
+
+ <!-- ================================================================= -->
+ <sect2 id="svn.intro.history">
+
+ <!-- @ENGLISH {{{
+ <title>Subversion's History</title>
+ @ENGLISH }}} -->
+ <title>История Subversion</title>
+
+ <!-- @ENGLISH {{{
+ <para>In early 2000, CollabNet,
+ Inc. (<ulink url="http://www.collab.net"/>) began seeking
+ developers to write a replacement for CVS. CollabNet offers a
+ collaboration software suite called CollabNet Enterprise Edition
+ (CEE)
+ <footnote>
+ <para>There's also a CollabNet Team Edition (CTE)
+ offering aimed at smaller groups.</para>
+ </footnote>
+ of which one component is version control. Although
+ CEE used CVS as its initial version control system, CVS's
+ limitations were obvious from the beginning, and CollabNet knew
+ it would eventually have to find something better.
+ Unfortunately, CVS had become the <foreignphrase>de
+ facto</foreignphrase> standard in the open source world largely
+ because there <emphasis>wasn't</emphasis> anything better, at
+ least not under a free license. So CollabNet determined to
+ write a new version control system from scratch, retaining the
+ basic ideas of CVS, but without the bugs and misfeatures.</para>
+ @ENGLISH }}} -->
+ <para>В начале 2000 года компания CollabNet, Inc. (<ulink
+ url="http://www.collab.net"/>) начала поиск людей для написания
+ системы, способной заменить CVS. CollabNet предлагает комплекс
+ программных средств для совместной работы, известный под названием
+ CollabNet Enterprise Edition (CEE) <footnote><para>Кроме того, еще
+ существует CollabNet Team Edition (CTE), предназначенный в основном
+ для небольших команд разработчиков.</para></footnote>, одним из
+ составляющих которого является срество для управления версиями.
+ В качестве такого средства в CEE использовалась CVS, хотя её недостатки
+ были очевидны с самого начала, и для CollabNet было ясно, что рано или
+ поздно придётся искать замену. К сожалению, CVS стала стандартом
+ <foreignphrase>де-факто</foreignphrase> в мире открытого программного
+ обеспечения, причём по той лишь причине, что ничего лучшего в то время
+ <emphasis>не существовало</emphasis>, по крайней мере среди программ со
+ свободной лицензией. И тогда CollabNet решила написать новую систему
+ управления версиями с нуля, сохранив основные идеи CVS, но без ошибок и
+ неудобств, присущих CVS.</para>
+
+ <!-- @ENGLISH {{{
+ <para>In February 2000, they contacted Karl Fogel, the author of
+ <citetitle>Open Source Development with CVS</citetitle>
+ (Coriolis, 1999), and asked if he'd like to work on this new
+ project. Coincidentally, at the time Karl was already
+ discussing a design for a new version control system with his
+ friend Jim Blandy. In 1995, the two had started Cyclic
+ Software, a company providing CVS support contracts, and
+ although they later sold the business, they still used CVS every
+ day at their jobs. Their frustration with CVS had led Jim to
+ think carefully about better ways to manage versioned data, and
+ he'd already come up with not only the name
+ <quote>Subversion</quote>, but also with the basic design of the
+ Subversion repository. When CollabNet called, Karl immediately
+ agreed to work on the project, and Jim got his employer, Red Hat
+ Software, to essentially donate him to the project for an
+ indefinite period of time. CollabNet hired Karl and Ben
+ Collins-Sussman, and detailed design work began in May. With
+ the help of some well-placed prods from Brian Behlendorf and
+ Jason Robbins of CollabNet, and Greg Stein (at the time an
+ independent developer active in the WebDAV/DeltaV specification
+ process), Subversion quickly attracted a community of active
+ developers. It turned out that many people had had the same
+ frustrating experiences with CVS, and welcomed the chance to
+ finally do something about it.</para>
+ @ENGLISH }}} -->
+ <para>В феврале 2000 года CollabNet связалась с автором книги
+ <citetitle>Open Source Development with CVS</citetitle>
+ <footnote><para><quote>Разработка программн с открытым исходным кодом с
+ помощью CVS</quote></para></footnote> Карлом Фогелем [Karl Fogel] и
+ предложила ему принять участие в этом новом проекте. Самое интересное
+ то, что Карл как раз тогда уже обсуждал проект новой системы управления
+ версиями со своим другом Джимом Блэнди [Jim Blandy]. Ещё в 1995 году
+ они создали компанию Cyclic Software, которая занималась поддержкой
+ пользователей CVS, и хотя позднее этот бизнес был продан, друзья
+ продолжали использовать CVS в повседневной работе. Их разочарование в
+ CVS привело Джима к обдумыванию улучшения принципов управления
+ версиями. Впоследствии Джим не только придумал название
+ <quote>Subversion</quote>, но и разработал основные принципы устройства
+ хранилища Subversion. Карл сразу согласился на предложение CollabNet, а
+ работодатель Джима, RedHat Software, пожертвовал своим сотрудником для
+ этого проекта, предоставив ему возможность работать над Subversion в
+ течение неограниченного времени. CollabNet взяла на работу Карла и Бена
+ Коллинза-Сассмана [Ben Collins-Sussman], и в мае началась работа по
+ проектированию системы. Благодаря нескольким интуитивно точным шагам,
+ предпринятых Брайаном Белендорфом [Brian Behlendorf] и Джейсоном
+ Роббинсом [Jason Robbins] из CollabNet и Грегом Стайном, на тот момент
+ независимым разработчиком, активно участвующим в создании спецификации
+ WebDAV/DeltaV, вокруг Subversion быстро образовалось сообщество
+ активных разработчиков. Оказалось, что многие люди испытывали похожее
+ чувство разочарования от CVS, и они с радостью приветствовали
+ появившуюся, наконец, возможность изменить положение вещей.</para>
+
+ <!-- @ENGLISH {{{
+ <para>The original design team settled on some simple goals. They
+ didn't want to break new ground in version control methodology,
+ they just wanted to fix CVS. They decided that Subversion would
+ match CVS's features, and preserve the same development model,
+ but not duplicate CVS's most obvious flaws. And although it did
+ not need to be a drop-in replacement for CVS, it should be
+ similar enough that any CVS user could make the switch with
+ little effort.</para>
+ @ENGLISH }}} -->
+ <para>Стартовый коллектив разработчиков решил остановиться на достижении
+ ряда простых целей. Они не собирались изобретать велосипед в подходах к
+ управлению версиями, скорее им просто хотелось исправить CVS. Этот
+ коллектив решил, что Subversion должна соответствовать CVS по набору
+ возможностей, сохранить ту же самую модель разработки и избежать
+ недостатков CVS. Хотя перед ними не стояла задача сделать систему,
+ полностью идентичную CVS, было ясно, что Subverion должна быть похожа
+ на CVS, чтобы любой пользователь CVS мог перейти на новую систему без
+ особых затруднений.</para>
+
+ <!-- @ENGLISH {{{
+ <para>After fourteen months of coding, Subversion became
+ <quote>self-hosting</quote> on August 31, 2001. That is,
+ Subversion developers stopped using CVS to manage Subversion's
+ own source code, and started using Subversion instead.</para>
+ @ENGLISH }}} -->
+ <para>И вот, 31 августа 2001 года, спустя четырнадцать месяцев с начала
+ работы, команда прекратила использовать CVS и перешла на Subversion для
+ управления версиями собственного исходного кода — Subversion
+ стала <quote>самодостаточной</quote>.</para>
+
+ <!-- @ENGLISH {{{
+ <para>While CollabNet started the project, and still funds a large
+ chunk of the work (it pays the salaries of a few full-time
+ Subversion developers), Subversion is run like most open-source
+ projects, governed by a loose, transparent set of rules that
+ encourage meritocracy. CollabNet's copyright license is fully
+ compliant with the Debian Free Software Guidelines. In other
+ words, anyone is free to download, modify, and redistribute
+ Subversion as he pleases; no permission from CollabNet or anyone
+ else is required.</para>
+ @ENGLISH }}} -->
+ <para>Хотя CollabNet стоит у истоков проекта и продолжает финансировать
+ основную часть работы, оплачивая полный рабочий день нескольких ведущих
+ разработчиков, Subversion развивается подобно большинству проектов с
+ открытым исходным кодом, управляясь свободным и прозрачным набором
+ правил, поощряющих меритократию. Лицензия CollabNet полностью
+ соответствует принципам свободного программного обеспечения Debian
+ — любой человек может устанавливать, изменять и распространять
+ Subversion так, как ему заблагорассудится; для этого не требуется
+ разрешения ни от CollabNet, ни от кого-либо ещё.</para>
+
+ </sect2>
+
+ <!-- ================================================================= -->
+ <sect2 id="svn.intro.features">
+
+ <!-- @ENGLISH {{{
+ <title>Subversion's Features</title>
+ @ENGLISH }}} -->
+ <title>Возможности Subversion</title>
+
+ <!-- @ENGLISH {{{
+ <para>When discussing the features that Subversion brings to the
+ version control table, it is often helpful to speak of them in
+ terms of how they improve upon CVS's design. If you're not
+ familiar with CVS, you may not understand all of these features.
+ And if you're not familiar with version control at all, your
+ eyes may glaze over unless you first read <xref
+ linkend="svn.basic"/>, in which we provide a gentle introduction
+ to version control in general.</para>
+ @ENGLISH }}} -->
+ <para>Обсуждать возможности Subversion удобнее всего в разрезе
+ её улучшений по сравнению с CVS. Суть некоторых рассматриваемых
+ здесь возможностей может быть не совсем понятна читателям, которые
+ плохо знакомы с CVS. Если же вы совсем не имеете представления об
+ управлении версиями, то вам лучше сначала прочитать <xref
+ linkend="svn.basic" endterm="svn.basic.accusative-case"/>, где
+ даётся доступное введение в управление версиями.
+ </para>
+
+ <!-- @ENGLISH {{{
+ <para>Subversion provides:</para>
+ @ENGLISH }}} -->
+ <para>Subversion предоставляет следующие возможности:</para>
+
+ <!-- @ENGLISH {{{
+ <variablelist>
+ <varlistentry>
+ <term>Directory versioning</term>
+ <listitem>
+ <para>CVS only tracks the history of individual files, but
+ Subversion implements a <quote>virtual</quote> versioned
+ filesystem that tracks changes to whole directory trees
+ over time. Files <emphasis>and</emphasis> directories are
+ versioned.</para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <variablelist>
+ <varlistentry>
+ <term>Контроль изменений каталогов</term>
+ <listitem>
+ <para>CVS следит только за историей отдельных файлов, тогда
+ как Subversion использует <quote>виртуальную</quote>
+ файловую систему с возможностями управления версиями,
+ которая способна отслеживать изменения во времени целых
+ структур каталогов. Под управление версиями попадают и файлы,
+ <emphasis>и</emphasis> каталоги.</para>
+ </listitem>
+ </varlistentry>
+
+ <!-- @ENGLISH {{{
+ <varlistentry>
+ <term>True version history</term>
+ <listitem>
+ Since CVS is limited to file versioning, operations
+ such as copies and renames—which might happen to
+ files, but which are really changes to the contents of
+ some containing directory—aren't supported in CVS.
+ Additionally, in CVS you cannot replace a versioned file
+ with some new thing of the same name without the new item
+ inheriting the history of the old—perhaps completely
+ unrelated—file. With Subversion, you can add,
+ delete, copy, and rename both files and directories. And
+ every newly added file begins with a fresh, clean
+ history all its own.</para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <varlistentry>
+ <term>Настоящая история версий</term>
+ <listitem>
+ <para>CVS контролирует лишь изменения файлов, поэтому
+ такие операции, как копирование и переименование, хотя и
+ относящиеся к файлам, но по существу являющиеся изменениями
+ каталогов, содержащих эти файлы, в CVS не поддерживаются.
+ Кроме того, в CVS вы не можете заменить файл, помещённый под
+ управление версиями, другим файлом с тем же именем, но
+ совершенно иным содержанием, возможно никак не связанным со
+ старым объектом, без наследования таким элементом всей
+ истории изменений. Subversion делает возможным добавление,
+ удаление, копирование и переименование как файлов, так и
+ каталогов. При этом каждый вновь добавленный файл начинает
+ жизнь с чистого листа, сохраняя собственную историю
+ изменений.</para>
+ </listitem>
+ </varlistentry>
+
+ <!-- @ENGLISH {{{
+ <varlistentry>
+ <term>Atomic commits</term>
+ <listitem>
+ <para>A collection of modifications either goes into the
+ repository completely, or not at all. This allows
+ developers to construct and commit changes as logical
+ chunks, and prevents problems that can occur when only a
+ portion of a set of changes is successfully sent to the
+ repository.</para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <varlistentry>
+ <term>Атомарная фиксация изменений</term>
+ <listitem>
+ <para>Каждый набор изменений либо попадает в хранилище
+ целиком, либо не попадает туда вовсе. Это позволяет
+ разработчикам создавать и фиксировать изменения логически
+ оправданными кусками, предотвращая тем самым проблемы,
+ которые могут возникать в тех случаях, когда только часть
+ необходимых изменений помещается в хранилище успешно.</para>
+ </listitem>
+ </varlistentry>
+
+ <!-- @ENGLISH {{{
+ <varlistentry>
+ <term>Versioned metadata</term>
+ <listitem>
+ <para>Each file and directory has a set of
+ properties—keys and their values—associated
+ with it. You can create and store any arbitrary key/value
+ pairs you wish. Properties are versioned over time, just
+ like file contents.</para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <varlistentry>
+ <term>Метаданные с версиями</term>
+ <listitem>
+ <para>Каждый файл и каталог имеет собственный набор свойств,
+ представленных в виде названия и значения. Вы можете
+ создавать и сохранять любые необходимые пары названий
+ свойств и их значений. Свойства файлов точно так же
+ находятся под управлением версиями, как и их
+ содержимое.</para>
+ </listitem>
+ </varlistentry>
+
+ <!-- @ENGLISH {{{
+ <varlistentry>
+ <term>Choice of network layers</term>
+ <listitem>
+ <para>Subversion has an abstracted notion of repository
+ access, making it easy for people to implement new network
+ mechanisms. Subversion can plug into the Apache HTTP
+ Server as an extension module. This gives Subversion a
+ big advantage in stability and interoperability, and
+ instant access to existing features provided by that
+ server—authentication, authorization, wire
+ compression, and so on. A more lightweight, standalone
+ Subversion server process is also available. This server
+ speaks a custom protocol which can be easily tunneled over
+ SSH.</para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <varlistentry>
+ <term>Выбор средств доступа к хранилищу по сети</term>
+ <listitem>
+ <para>В Subversion используется абстракция доступа к
+ хранилищу, что позволяет реализовывать самые разные сетевые
+ механизмы доступа. Subversion может быть подключена к
+ серверу HTTP Apache в виде модуля, что даёт ей огромное
+ преимущество с точки зрения устойчивости работы и способности
+ к взаимодействию, а также предоставляет прямой доступ к
+ существующим возможностям этого сервера, включая
+ установление личности, проверку прав доступа и сжатие
+ информации при передаче. Кроме того, имеется лёгкий
+ самостоятельный сервер Subversion, который использует
+ собственный протокол взаимодействия с клиентами и может
+ легко туннелировать данные через SSH.</para>
+ </listitem>
+ </varlistentry>
+
+ <!-- @ENGLISH {{{
+ <varlistentry>
+ <term>Consistent data handling</term>
+ <listitem>
+ <para>Subversion expresses file differences using a binary
+ differencing algorithm, which works identically on both
+ text (human-readable) and binary (human-unreadable) files.
+ Both types of files are stored equally compressed in the
+ repository, and differences are transmitted in both
+ directions across the network.</para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <varlistentry>
+ <term>Единый способ работы с данными</term>
+ <listitem>
+ <para>Subversion обнаруживает различия между файлами с помощью
+ специального бинарного алгоритма, который одинаково работает
+ как с текстовыми, так и с бинарными файлами. Файлы
+ записываются в хранилище в сжатом виде независимо от их
+ типа, а различия между отдельными версиями могут
+ передаваться по сети в обоих направлениях.</para>
+ </listitem>
+ </varlistentry>
+
+ <!-- @ENGLISH {{{
+ <varlistentry>
+ <term>Efficient branching and tagging</term>
+ <listitem>
+ <para>The cost of branching and tagging need not be
+ proportional to the project size. Subversion creates
+ branches and tags by simply copying the project, using a
+ mechanism similar to a hard-link. Thus these operations
+ take only a very small, constant amount of time.
+ </para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <varlistentry>
+ <term>Эффективные ветки и метки</term>
+ <listitem>
+ <para>Плата за использование веток и меток не должна быть
+ пропорциональна размеру проекта. Subversion создаёт ветки и
+ метки путём простого копирования проекта, используя
+ механизм, похожий на жёсткие ссылки в файловых системах.
+ Благодаря этому, операции по созданию веток и меток занимают
+ немного времени.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- @ENGLISH {{{
+ <varlistentry>
+ <term>Hackability</term>
+ <listitem>
+ <para>Subversion has no historical baggage; it is
+ implemented as a collection of shared C libraries with
+ well-defined APIs. This makes Subversion extremely
+ maintainable and usable by other applications and
+ languages.</para>
+ </listitem>
+ </varlistentry>
+ @ENGLISH }}} -->
+ <varlistentry>
+ <term>Дружелюбность по отношению к разработчикам</term>
+ <listitem>
+ <para>Subversion не имеет исторического багажа. Она
+ реализована в виде набора динамических библиотек на языке C,
+ API которых хорошо известен. Это делает Subversion
+ чрезвычайно удобной для сопровождения системой, пригодной
+ для взаимодействия с другими приложениями и языками
+ программирования.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+ <!-- ================================================================= -->
+ <sect2 id="svn.intro.architecture">
+
+ <!-- @ENGLISH {{{
+ <title>Subversion's Architecture</title>
+ @ENGLISH }}} -->
+ <title>Архитектура Subversion</title>
+
+ <!-- @ENGLISH {{{
+ <para><xref linkend="svn.intro.architecture.dia-1"/> illustrates what one might
+ call a <quote>mile-high</quote> view of Subversion's
+ design.</para>
+ @ENGLISH }}} -->
+ <para>Общий взгляд на устройство Subversion показан на <xref
+ linkend="svn.intro.architecture.dia-1"
+ endterm="svn.intro.architecture.dia-1.prepositional-case"/>.</para>
+
+ <figure id="svn.intro.architecture.dia-1">
+ <!-- @ENGLISH {{{
+ <title>Subversion's Architecture</title>
+ @ENGLISH }}} -->
+ <title>Архитектура Subversion</title>
+ <graphic fileref="images/ch01dia1.png"/>
+ </figure>
+
+ <!-- @ENGLISH {{{
+ <para>On one end is a Subversion repository that holds all of your
+ versioned data. On the other end is your Subversion client
+ program, which manages local reflections of portions of that
+ versioned data (called <quote>working copies</quote>). Between
+ these extremes are multiple routes through various Repository
+ Access (RA) layers. Some of these routes go across computer
+ networks and through network servers which then access the
+ repository. Others bypass the network altogether and access the
+ repository directly.</para>
+ @ENGLISH }}} -->
+ <para>На одной стороне схемы изображено хранилище Subversion, в
+ котором хранится информация с версиями. На противоположной стороне
+ показана программа-клиент Subversion, которая управляет локальными
+ отражениями различных фрагментов этих данных (также называемыми
+ <quote>рабочими копиями</quote>). Между этими сторонами проложены
+ различные маршруты, проходящие через разные слои доступа к
+ хранилищу<footnote><para>Repository Access (RA)
+ layers</para></footnote>. Некоторые из этих маршрутов
+ используют компьютерные сети и сетевые сервера, чтобы достичь
+ хранилища, в то время как другие маршруты в сети не нуждаются и
+ ведут к хранилищу напрямую.</para>
+
+ </sect2>
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.intro.components">
+
+ <!-- @ENGLISH {{{
+ <title>Subversion's Components</title>
+ @ENGLISH }}} -->
+ <title>Компоненты Subversion</title>
+
+ <!-- @ENGLISH {{{
+ <para>Subversion, once installed, has a number of different
+ pieces. The following is a quick overview of what you get.
+ Don't be alarmed if the brief descriptions leave you scratching
+ your head—there are <emphasis>plenty</emphasis> more pages
+ in this book devoted to alleviating that confusion.</para>
+ @ENGLISH }}} -->
+ <para>Установленная Subversion имеет определенное количество компонентов.
+ Ниже перечисленное - краткий обзор того, что вы получаете. Не тревожьтесь
+ если краткие описания заставляют вас чесать затылок, в этой книге есть
+ еще <emphasis>много</emphasis> страниц, посвященных облегчению
+ этого беспорядка.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>svn</term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>The command-line client program.</para>
+ @ENGLISH }}} -->
+ <para>CLI-клиент.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>svnversion</term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>A program for reporting the state (in terms of
+ revisions of the items present) of a working copy.</para>
+ @ENGLISH }}} -->
+ <para>Программа показывающая состояние (в пределах ревизий
+ существующих элементов) рабочей копии.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>svnlook</term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>A tool for inspecting a Subversion repository.</para>
+ @ENGLISH }}} -->
+ <para>Инструмент для контроля Subversion хранилища.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>svnadmin</term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>A tool for creating, tweaking or repairing a Subversion
+ repository.</para>
+ @ENGLISH }}} -->
+ <para>Инструмент для создания, настройки или восстановления
+ Subversion хранилища.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>svndumpfilter</term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>A program for filtering Subversion repository dump
+ streams.</para>
+ @ENGLISH }}} -->
+ <para>Программа для фильтрации дамповых потоков
+ Subversion хранилища.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>mod_dav_svn</term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>A plug-in module for the Apache HTTP Server, used to
+ make your repository available to others over a
+ network.</para>
+ @ENGLISH }}} -->
+ <para>Подключаемый модуль для HTTP сервера Apache, использующийся
+ для предоставления сетевого доступа к вашему хранилищу.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>svnserve</term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>A custom standalone server program, runnable as a
+ daemon process or invokable by SSH; another way to make
+ your repository available to others over a network.</para>
+ @ENGLISH }}} -->
+ <para>Собственный отдельный сервер, запускается как
+ процесс-демон и доступен посредством SSH; еще один способ
+ для предоставления сетевого доступа к хранилищу.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <!-- @ENGLISH {{{
+ <para>Assuming you have Subversion installed correctly, you should
+ be ready to start. The next two chapters will walk you through
+ the use of <command>svn</command>, Subversion's command-line client
+ program.</para>
+ @ENGLISH }}} -->
+ <para>При условии корректно установленной Subversion вы готовы к старту.
+ Следующие две главы описывают использование <command>svn</command>,
+ CLI-клиента Subversion.</para>
+
+ </sect2>
+
+ </sect1>
+
</preface>
<!--
More information about the svnbook-dev
mailing list