[svnbook commit] r1564 - in trunk/src/ru: . book

dmitriy svnbook-dev at red-bean.com
Sat Jul 23 08:39:54 CDT 2005


Author: dmitriy
Date: Sat Jul 23 08:39:53 2005
New Revision: 1564

Removed:
   trunk/src/ru/LAST_UPDATED
Modified:
   trunk/src/ru/Makefile
   trunk/src/ru/book/appa.xml
   trunk/src/ru/book/appb.xml
   trunk/src/ru/book/appc.xml
   trunk/src/ru/book/ch00.xml
   trunk/src/ru/book/ch01.xml
   trunk/src/ru/book/ch02.xml
   trunk/src/ru/book/ch03.xml
   trunk/src/ru/book/ch04.xml
   trunk/src/ru/book/ch05.xml
   trunk/src/ru/book/ch06.xml
   trunk/src/ru/book/ch07.xml
   trunk/src/ru/book/ch08.xml
   trunk/src/ru/book/ch09.xml
   trunk/src/ru/book/foreword.xml
   trunk/src/ru/sync.py
Log:
New approach to synchronization of translation with English text.
Revision number with which is synchronized translation is 
underlined separately for each file (using <edition></edition>). 
For this purpose is in appropriate way modified sync.py.

* sync.py
* Makefile
  Changed under the new approach to synchronization
  
* LAST_UPDATED: removed as superfluous

* ru/book/appa.xml
* ru/book/appb.xml
* ru/book/appc.xml
* ru/book/foreword.xml
* ru/book/ch00.xml
* ru/book/ch01.xml
* ru/book/ch02.xml
* ru/book/ch03.xml
* ru/book/ch04.xml
* ru/book/ch05.xml
* ru/book/ch06.xml
* ru/book/ch07.xml
* ru/book/ch08.xml
* ru/book/ch09.xml
  Sync with en/


Modified: trunk/src/ru/Makefile
==============================================================================
--- trunk/src/ru/Makefile	(original)
+++ trunk/src/ru/Makefile	Sat Jul 23 08:39:53 2005
@@ -9,12 +9,8 @@
 $(BOOK_VERSION_SOURCE): book-last-updated
 
 book-last-updated:
-	@if $(SVNVERSION) . > /dev/null; then \
-	  echo '<!ENTITY svn.version "$(L10N_REVISION) '`cat LAST_UPDATED`'">' \
-	    > $(BOOK_VERSION_SOURCE); \
-	else \
-	  echo '<!ENTITY svn.version "">' > $(BOOK_VERSION_SOURCE); \
-	fi
+	@echo '<!ENTITY svn.version "$(L10N_REVISION) '`python sync.py -v`'">' \
+	    > $(BOOK_VERSION_SOURCE)
 
 dist-html-chunk: book-last-updated
 	../tools/book-dist.py --html-chunk --name svnbook-html-chunk-ru

Modified: trunk/src/ru/book/appa.xml
==============================================================================
--- trunk/src/ru/book/appa.xml	(original)
+++ trunk/src/ru/book/appa.xml	Sat Jul 23 08:39:53 2005
@@ -3,8 +3,11 @@
 
   <!-- @ENGLISH {{{
   <title>Subversion for CVS Users</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Subversion для пользователей CVS</title>
+  <appendixinfo>
+    <edition>1563</edition>
+  </appendixinfo>
   <!-- See also svn.preface.organization -->
 
   <simplesect>
@@ -63,7 +66,7 @@
   <!-- ================================================================= -->
   <sect1 id="svn.forcvs.directories">
     <title>Directory Versions</title>
-    
+
     <para>Subversion tracks tree structures, not just file contents.
       It's one of the biggest reasons Subversion was written to
       replace CVS.</para>
@@ -106,7 +109,7 @@
       that would be a lie too; there may be other changes to
       <filename>foo</filename> we haven't yet received, because we
       haven't updated yet.</para>
-    
+
     <para>Subversion deals with this problem by quietly tracking
       committed adds and deletes in the <filename>.svn</filename>
       area.  When you eventually run <command>svn update</command>,
@@ -116,7 +119,7 @@
       say that you have a <quote>perfect</quote> revision of a
       directory.</emphasis> Most of the time, your working copy will
       contain <quote>imperfect</quote> directory revisions.</para>
-    
+
     <para>Similarly, a problem arises if you attempt to commit
       property changes on a directory.  Normally, the commit would
       bump the working directory's local revision number.  But again,
@@ -148,9 +151,9 @@
       directory, except that it also stores read-only,
       <quote>pristine</quote> copies of your files.  This allows you
       to do many things off-line:</para>
-    
+
     <variablelist>
-      
+
       <varlistentry>
         <term><command>svn status</command></term>
         <listitem>
@@ -231,7 +234,7 @@
             out-of-dateness information.</para>
         </listitem>
       </varlistentry>
-      
+
       <varlistentry>
         <term><option>-v</option></term>
         <listitem>
@@ -363,7 +366,7 @@
       directories.  Properties are arbitrary name/value pairs
       associated with files and directories in your working
       copy.</para>
-    
+
     <para>To set or get a property name, use the <command>svn
       propset</command> and <command>svn propget</command>
       subcommands.  To list all properties on an object, use
@@ -409,7 +412,7 @@
       contain textual or binary data.  That means that all files are
       stored differentially (compressed) in the repository, and small
       differences are always sent over the network.</para>
-    
+
     <para>CVS users have to mark binary files with
       <option>-kb</option> flags, to prevent data from being garbled
       (due to keyword expansion and line-ending translations).  They
@@ -543,7 +546,7 @@
 </appendix>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "appendix")
 end:
 vim: tw=78:ft=svnbook

Modified: trunk/src/ru/book/appb.xml
==============================================================================
--- trunk/src/ru/book/appb.xml	(original)
+++ trunk/src/ru/book/appb.xml	Sat Jul 23 08:39:53 2005
@@ -2,8 +2,11 @@
 <appendix id="svn.webdav">
   <!-- @ENGLISH {{{
   <title>WebDAV and Autoversioning</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>WebDAV и автоматическое управление версиями</title>
+  <appendixinfo>
+    <edition>1563</edition>
+  </appendixinfo>
   <!-- See also svn.preface.organization -->
 
   <simplesect>
@@ -304,10 +307,11 @@
       situations.  It's fairly unrealistic to change Subversion's
       design to match DeltaV, so there's probably no way the client
       can ever learn to get everything it needs from a general DeltaV
-      server.  On the other hand, mod_dav_svn *could* be further
-      developed to implement all of DeltaV, but it's hard to find
-      motivation to do so—here are almost no DeltaV clients to
-      interoperate with.</para>
+      server.  On the other hand,
+      mod_dav_svn <emphasis>could</emphasis> be further developed to
+      implement all of DeltaV, but it's hard to find motivation to do
+      so—there are almost no DeltaV clients to interoperate
+      with.</para>
 
   </sect1>
 

Modified: trunk/src/ru/book/appc.xml
==============================================================================
--- trunk/src/ru/book/appc.xml	(original)
+++ trunk/src/ru/book/appc.xml	Sat Jul 23 08:39:53 2005
@@ -2,8 +2,11 @@
 <appendix id="svn.3rdparty">
   <!-- @ENGLISH {{{
   <title>Third Party Tools</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Инструменты от сторонних разработчиков</title>
+  <appendixinfo>
+    <edition>1563</edition>
+  </appendixinfo>
   <!-- See also svn.preface.organization -->
 
   <simplesect>

Modified: trunk/src/ru/book/ch00.xml
==============================================================================
--- trunk/src/ru/book/ch00.xml	(original)
+++ trunk/src/ru/book/ch00.xml	Sat Jul 23 08:39:53 2005
@@ -3,6 +3,9 @@
   <!-- @ENGLISH {{{
   <title>Preface</title>
   @ENGLISH }}} -->
+  <prefaceinfo>
+    <edition>1563</edition>
+  </prefaceinfo>
   <title>Об этой книге</title>
 
   <simplesect>

Modified: trunk/src/ru/book/ch01.xml
==============================================================================
--- trunk/src/ru/book/ch01.xml	(original)
+++ trunk/src/ru/book/ch01.xml	Sat Jul 23 08:39:53 2005
@@ -3,11 +3,12 @@
 
   <!-- @ENGLISH {{{
   <title>Introduction</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Введение</title>
   <chapterinfo>
-    <othername id="svn.intro.architecure.dia-1.prepositional-case" 
-      role="title-variant">рисунке 1.1, «Архитектура 
+    <edition>1563</edition>
+    <othername id="svn.intro.architecure.dia-1.prepositional-case"
+      role="title-variant">рисунке 1.1, «Архитектура
         Subversion»</othername>
   </chapterinfo>
   <!-- See also svn.preface.organization -->
@@ -23,23 +24,23 @@
       computers to manage information that changes often, there is
       room for version control.  And that's where Subversion comes
       into play.</para>
-    @ ENGLISH }}} -->
-    <para>Управление версиями—это искусство работы с изменениями 
-      информации. Долгое время оно было жизненно важным инструментом 
-      программистов, которые обычно проводят время, внося небольшие 
-      изменения в программы, а в один прекрасный момент делают откат 
-      изменений, возвращаясь к предыдущей версии. Однако, полезность 
-      систем управления версиями выходит далеко за пределы мира 
-      разработчиков программного обеспечения. Управление версиями 
-      требуется повсюду, где можно встретить людей, использующих 
-      компьютер для работы с постоянно изменяющейся информацией. Именно 
+    @ENGLISH }}} -->
+    <para>Управление версиями—это искусство работы с изменениями
+      информации. Долгое время оно было жизненно важным инструментом
+      программистов, которые обычно проводят время, внося небольшие
+      изменения в программы, а в один прекрасный момент делают откат
+      изменений, возвращаясь к предыдущей версии. Однако, полезность
+      систем управления версиями выходит далеко за пределы мира
+      разработчиков программного обеспечения. Управление версиями
+      требуется повсюду, где можно встретить людей, использующих
+      компьютер для работы с постоянно изменяющейся информацией. Именно
       тогда на сцену выходит Subversion.</para>
 
     <!-- @ENGLISH {{{
     <para>This chapter contains a high-level introduction to
       Subversion—what it is; what it does; how to get it.</para>
-    @ ENGLISH }}} -->
-    <para>В этой главе даётся общее введение в Subversion. Здесь 
+    @ENGLISH }}} -->
+    <para>В этой главе даётся общее введение в Subversion. Здесь
       поясняется, что это такое, что она делает и как её получить.</para>
 
   </simplesect>
@@ -52,7 +53,7 @@
 
     <!-- @ENGLISH {{{
     <title>What is Subversion?</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Что такое Subversion?</title>
 
     <!-- @ENGLISH {{{
@@ -66,15 +67,15 @@
       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>, которое похоже на обычный сервер 
-      файлов с тем отличием, что оно запоминает каждое изменение, 
-      внесённое в файл или каталог. Это позволяет восстановить ранние 
-      версии данных, исследовать историю изменений данных. Благодаря 
-      этому, многие считают систему управления версиями своеобразной 
+    @ENGLISH }}} -->
+    <para>Subversion—это свободная система управления версиями с
+      открытым исходным кодом. Subversion позволяет управлять файлами и
+      каталогами во времени. Дерево файлов помещается в центральное
+      <firstterm>хранилище</firstterm>, которое похоже на обычный сервер
+      файлов с тем отличием, что оно запоминает каждое изменение,
+      внесённое в файл или каталог. Это позволяет восстановить ранние
+      версии данных, исследовать историю изменений данных. Благодаря
+      этому, многие считают систему управления версиями своеобразной
       <quote>машиной времени</quote>.</para>
 
     <!-- @ENGLISH {{{
@@ -87,15 +88,15 @@
       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 обращается к хранилищу по сети, что позволяет 
-      использовать её на разных компьютерах. Возможность совместной 
-      работы с одним и тем же набором данных поощряет сотрудничество. В 
-      отсутствие единственного контролирующего звена, через которое 
-      должны проходить все изменения, работа становится более 
-      эффективной. При этом не нужно опасаться, что потеря такого звена 
-      происходит за счёт качества, ведь благодаря сохранению версий, 
-      даже если в данные будут внесены ошибочные изменения, всегда можно 
+    @ENGLISH }}} -->
+    <para>Subversion обращается к хранилищу по сети, что позволяет
+      использовать её на разных компьютерах. Возможность совместной
+      работы с одним и тем же набором данных поощряет сотрудничество. В
+      отсутствие единственного контролирующего звена, через которое
+      должны проходить все изменения, работа становится более
+      эффективной. При этом не нужно опасаться, что потеря такого звена
+      происходит за счёт качества, ведь благодаря сохранению версий,
+      даже если в данные будут внесены ошибочные изменения, всегда можно
       сделать откат изменений к прежнему состоянию.</para>
 
     <!-- @ENGLISH {{{
@@ -110,20 +111,20 @@
       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> набором файлов. Ваши файлы могут быть 
-      исходным кодом, а для кого-то это будет что-то иное, например 
-      списки покупок в продовольственном магазине или сведённые цифровые 
+    @ENGLISH }}} -->
+    <para>Некоторые системы управления версиями выступают также в
+      качестве систем управления конфигурацией программного обеспечения
+      (SCM<footnote><para>Software Configuration
+          Management</para></footnote>). Такие системы специально
+      созданы для управления деревьями исходного кода и обладают
+      множеством особенностей, непосредственно относящихся к разработке
+      программного обеспечения: они понимают языки программирования и
+      предоставляют инструменты для сборки программ. Subversion не
+      является такой системой, она представляет собой систему общего
+      назначения, которую можно использовать для управления
+      <emphasis>любым</emphasis> набором файлов. Ваши файлы могут быть
+      исходным кодом, а для кого-то это будет что-то иное, например
+      списки покупок в продовольственном магазине или сведённые цифровые
       видеоролики.</para>
 
   </sect1>
@@ -135,7 +136,7 @@
 
     <!-- @ENGLISH {{{
     <title>Subversion's History</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>История Subversion</title>
 
     <!-- @ENGLISH {{{
@@ -153,23 +154,23 @@
       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 }}} -->
+    @ENGLISH }}} -->
     <para>В начале 2000 года компания CollabNet, Inc. (<systemitem
-        class="url">http://www.collab.net</systemitem>) решила начать 
-      разработку программного обеспечения, призванного прийти на смену 
-      CVS, и стала искать людей, способных решить эту задачу. CollabNet 
-      предлагает комплекс программных средств для совместной работы, 
-      известный под названием SourceCast, одним из компонентов которого 
-      является средство для управления версиями. В качестве такого 
-      средства в SourceCast использовалась CVS, хотя её недостатки были 
-      очевидны с самого начала, и для CollabNet было ясно, что рано или 
-      поздно придётся искать замену. К сожалению, CVS стала стандартом 
-      <foreignphrase>де-факто</foreignphrase> в мире программного 
-      обеспечения с открытым исходным кодом, главным образом потому, что 
-      ничего лучшего в то время <emphasis>не существовало</emphasis>, по  
-      крайней мере среди программ со свободной лицензией. И тогда 
-      CollabNet решила написать новую систему управления версиями с 
-      нуля, сохранив основные идеи CVS, но без глюков и неудобств, 
+        class="url">http://www.collab.net</systemitem>) решила начать
+      разработку программного обеспечения, призванного прийти на смену
+      CVS, и стала искать людей, способных решить эту задачу. CollabNet
+      предлагает комплекс программных средств для совместной работы,
+      известный под названием SourceCast, одним из компонентов которого
+      является средство для управления версиями. В качестве такого
+      средства в SourceCast использовалась CVS, хотя её недостатки были
+      очевидны с самого начала, и для CollabNet было ясно, что рано или
+      поздно придётся искать замену. К сожалению, CVS стала стандартом
+      <foreignphrase>де-факто</foreignphrase> в мире программного
+      обеспечения с открытым исходным кодом, главным образом потому, что
+      ничего лучшего в то время <emphasis>не существовало</emphasis>, по
+      крайней мере среди программ со свободной лицензией. И тогда
+      CollabNet решила написать новую систему управления версиями с
+      нуля, сохранив основные идеи CVS, но без глюков и неудобств,
       свойственных CVS.</para>
 
     <!-- @ENGLISH {{{
@@ -197,35 +198,35 @@
       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>Разработка программного 
-            обеспечения с открытым исходным кодом с помощью 
+    @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 и 
+      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, и они  с радостью приветствовали появившуюся 
+      участвующим в создании спецификации WebDAV/DeltaV, вокруг
+      Subversion быстро образовалось сообщество активных разработчиков.
+      Оказалось, что многие люди испытывали похожее чувство
+      разочарования от CVS, и они  с радостью приветствовали появившуюся
       наконец возможность изменить положение вещей.</para>
 
     <!-- @ENGLISH {{{
@@ -237,16 +238,16 @@
       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, 
-      было ясно, что они должны быть достаточно похожи друг на друга, 
-      чтобы любой пользователь CVS мог перейти на новую систему без 
+    @ENGLISH }}} -->
+    <para>Команда первых инженеров решила остановиться на достижении
+      ряда простых целей. Они не собирались открывать новые земли в
+      подходах к управлению версиями, скорее им просто хотелось
+      починить CVS. Эта команда решила, что Subversion должна
+      соответствовать CVS  по набору возможностей, сохранив ту же самую
+      модель разработки, но без очевидных недостатков CVS. Хотя перед
+      ними не стояла задача сделать систему, полностью идентичную CVS,
+      было ясно, что они должны быть достаточно похожи друг на друга,
+      чтобы любой пользователь CVS мог перейти на новую систему без
       особых затруднений.</para>
 
     <!-- @ENGLISH {{{
@@ -254,10 +255,10 @@
       <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 для управления версиями собственного исходного 
+    @ENGLISH }}} -->
+    <para>И вот, 31 августа 2001 года, спустя четырнадцать месяцев
+      работы, команда прекратила использовать CVS и перешла на
+      Subversion для управления версиями собственного исходного
       кода—Subversion стала <quote>самодостаточной</quote>.</para>
 
     <!-- @ENGLISH {{{
@@ -270,17 +271,17 @@
       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 стоит у истоков проекта и продолжает 
-      финансировать основную часть работы, оплачивая полный рабочий день 
+    @ENGLISH }}} -->
+    <para>Хотя CollabNet стоит у истоков проекта и продолжает
+      финансировать основную часть работы, оплачивая полный рабочий день
       нескольких ведущих разработчиков, Subversion развивается подобно
-      большинству проектов разработки программного обеспечения с 
-      открытым исходным кодом, управляясь свободным и прозрачным набором 
-      правил, поощряющих меритократию. Лицензия CollabNet полностью 
-      соответствует принципам свободного программного обеспечения 
-      Debian—любой человек свободен устанавливать, изменять и 
-      распространять Subversion так, как ему заблагорассудится; для 
-      этого не требуется разрешение от CollabNet или кого-либо 
+      большинству проектов разработки программного обеспечения с
+      открытым исходным кодом, управляясь свободным и прозрачным набором
+      правил, поощряющих меритократию. Лицензия CollabNet полностью
+      соответствует принципам свободного программного обеспечения
+      Debian—любой человек свободен устанавливать, изменять и
+      распространять Subversion так, как ему заблагорассудится; для
+      этого не требуется разрешение от CollabNet или кого-либо
       ещё.</para>
 
   </sect1>
@@ -292,7 +293,7 @@
 
     <!-- @ENGLISH {{{
     <title>Subversion's Features</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Возможности Subversion</title>
 
     <!-- @ENGLISH {{{
@@ -304,19 +305,19 @@
       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. Суть некоторых рассматриваемых 
+    @ENGLISH }}} -->
+    <para>Обсуждать возможности Subversion удобнее всего в разрезе
+      её улучшений по сравнению с CVS. Суть некоторых рассматриваемых
       здесь возможностей может быть не совсем понятна читателям, которые
       плохо знакомы с CVS. Если же вы совсем не имеете представления об
-      управлении версиями, то вам лучше сначала прочитать <xref 
-        linkend="svn.basic" endterm="svn.basic.accusative-case"/>, где 
+      управлении версиями, то вам лучше сначала прочитать <xref
+        linkend="svn.basic" endterm="svn.basic.accusative-case"/>, где
       даётся доступное введение в управление версиями.
     </para>
 
     <!-- @ENGLISH {{{
     <para>Subversion provides:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Subversion предоставляет следущие возможности:</para>
 
     <!-- @ENGLISH {{{
@@ -331,16 +332,16 @@
             versioned.</para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <variablelist>
         <varlistentry>
           <term>Управление версиями каталогов</term>
           <listitem>
-            <para>CVS следит только за историей отдельных файлов, тогда 
+            <para>CVS следит только за историей отдельных файлов, тогда
               как Subversion использует <quote>виртуальную</quote>
-              файловую систему с возможностями управления версиями, 
-              которая способна отслеживать изменения во времени целых 
-              деревьев каталогов. Под управление версиями попадают файлы 
+              файловую систему с возможностями управления версиями,
+              которая способна отслеживать изменения во времени целых
+              деревьев каталогов. Под управление версиями попадают файлы
               <emphasis>и</emphasis> каталоги.</para>
           </listitem>
         </varlistentry>
@@ -362,15 +363,15 @@
             history all its own.</para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <varlistentry>
         <term>Настоящая история версий</term>
         <listitem>
-          <para>CVS ограничивается управлением версиями файлов, поэтому 
+          <para>CVS ограничивается управлением версиями файлов, поэтому
             такие операции, как копирование и переименование, хотя и
-            относящиеся к файлам, но по существу являющиеся изменениями 
-            содержащих эти файлы каталогов, в CVS не поддерживаются. 
-            Кроме того, в CVS вы не можете заменить файл, помещённый под 
+            относящиеся к файлам, но по существу являющиеся изменениями
+            содержащих эти файлы каталогов, в CVS не поддерживаются.
+            Кроме того, в CVS вы не можете заменить файл, помещённый под
             управление версиями, другим файлом с тем же именем, но
             совершенно иным содержанием, возможно никак не связанным со
             старым объектом, без наследования таким элементом всей
@@ -394,15 +395,15 @@
             repository.</para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <varlistentry>
         <term>Атомарные закрепления изменений</term>
         <listitem>
-          <para>Каждый набор изменений либо попадает в хранилище 
-            целиком, либо не попадает туда вовсе. Это позволяет 
-            разработчикам создавать и закреплять изменения логически 
-            оправданными кусками, предотвращая тем самым проблемы, 
-            которые могут возникать в тех случаях, когда только часть 
+          <para>Каждый набор изменений либо попадает в хранилище
+            целиком, либо не попадает туда вовсе. Это позволяет
+            разработчикам создавать и закреплять изменения логически
+            оправданными кусками, предотвращая тем самым проблемы,
+            которые могут возникать в тех случаях, когда только часть
             необходимых изменений помещается в хранилище успешно.</para>
         </listitem>
       </varlistentry>
@@ -418,15 +419,15 @@
             like file contents.</para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <varlistentry>
         <term>Метаданные с версиями</term>
         <listitem>
-          <para>Каждый файл и каталог имеет собственный набор свойств, 
-            представленных в виде названия и значения. Вы можете 
-            создавать и сохранять любые необходимые пары названий 
-            свойств и их значений. Свойства файлов точно так же 
-            находятся под управлением версиями, как и их 
+          <para>Каждый файл и каталог имеет собственный набор свойств,
+            представленных в виде названия и значения. Вы можете
+            создавать и сохранять любые необходимые пары названий
+            свойств и их значений. Свойства файлов точно так же
+            находятся под управлением версиями, как и их
             содержимое.</para>
         </listitem>
       </varlistentry>
@@ -448,21 +449,21 @@
             SSH.</para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <varlistentry>
         <term>Выбор средств доступа к хранилищу по сети</term>
         <listitem>
-          <para>В Subversion используется абстракция доступа к 
-            хранилищу, что позволяет реализовывать самые разные сетевые 
-            механизмы доступа. Subversion может быть подключена к 
-            серверу HTTP Apache в виде модуля, что даёт ей огромное 
-            преимущество с точки зрения устойчивости работы и способности 
-            к взаимодействию, а также предоставляет прямой доступ к 
-            существующим возможностям этого сервера, включая  
-            установление личности, проверку прав доступа и сжатие 
-            информации при передаче. Кроме того, имеется лёгкий 
-            самостоятельный сервер Subversion, который использует 
-            собственный протокол взаимодействия с клиентами и может 
+          <para>В Subversion используется абстракция доступа к
+            хранилищу, что позволяет реализовывать самые разные сетевые
+            механизмы доступа. Subversion может быть подключена к
+            серверу HTTP Apache в виде модуля, что даёт ей огромное
+            преимущество с точки зрения устойчивости работы и способности
+            к взаимодействию, а также предоставляет прямой доступ к
+            существующим возможностям этого сервера, включая
+            установление личности, проверку прав доступа и сжатие
+            информации при передаче. Кроме того, имеется лёгкий
+            самостоятельный сервер Subversion, который использует
+            собственный протокол взаимодействия с клиентами и может
             легко туннелировать данные через SSH.</para>
         </listitem>
       </varlistentry>
@@ -479,7 +480,7 @@
             directions across the network.</para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <varlistentry>
         <term>Единый способ работы с данными</term>
         <listitem>
@@ -504,15 +505,15 @@
           </para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <varlistentry>
         <term>Эффективные ветки и метки</term>
         <listitem>
-          <para>Плата за использование веток и меток не должна быть 
-            пропорциональна размеру проекта. Subversion создаёт ветки и 
-            метки путём простого копирования проекта, используя 
-            механизм, похожий на жёсткие ссылки в файловых системах. 
-            Благодаря этому, операции по созданию веток и меток занимают 
+          <para>Плата за использование веток и меток не должна быть
+            пропорциональна размеру проекта. Subversion создаёт ветки и
+            метки путём простого копирования проекта, используя
+            механизм, похожий на жёсткие ссылки в файловых системах.
+            Благодаря этому, операции по созданию веток и меток занимают
             немного времени.
           </para>
         </listitem>
@@ -529,15 +530,15 @@
             languages.</para>
         </listitem>
       </varlistentry>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <varlistentry>
         <term>Дружелюбность по отношению к разработчикам</term>
         <listitem>
-          <para>Subversion не имеет исторического багажа. Она 
-            реализована в виде набора динамических библиотек на языке C,  
-            API которых хорошо известен. Это делает Subversion 
-            чрезвычайно удобной для сопровождения системой, пригодной 
-            для взаимодействия с другими приложениями и языками 
+          <para>Subversion не имеет исторического багажа. Она
+            реализована в виде набора динамических библиотек на языке C,
+            API которых хорошо известен. Это делает Subversion
+            чрезвычайно удобной для сопровождения системой, пригодной
+            для взаимодействия с другими приложениями и языками
             программирования.</para>
         </listitem>
       </varlistentry>
@@ -553,22 +554,22 @@
 
     <!-- @ENGLISH {{{
     <title>Subversion's Architecture</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Архитектура Subversion</title>
 
     <!-- @ENGLISH {{{
     <para><xref linkend="svn.intro.architecure.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.architecure.dia-1" 
+    @ENGLISH }}} -->
+    <para>Общий взгляд на устройство Subversion показан на <xref
+        linkend="svn.intro.architecure.dia-1"
         endterm="svn.intro.architecure.dia-1.prepositional-case"/>.</para>
-      
+
     <figure id="svn.intro.architecure.dia-1">
       <!-- @ENGLISH {{{
       <title>Subversion's Architecture</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Архитектура Subversion</title>
       <graphic fileref="images/ch01dia1.png"/>
     </figure>
@@ -583,17 +584,17 @@
       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>. Некоторые из этих маршрутов 
-      используют компьютерные сети и сетевые сервера, чтобы достичь 
-      хранилища, в то время как другие маршруты в сети не нуждаются и 
+    @ENGLISH }}} -->
+    <para>На одной стороне схемы изображено хранилище Subversion, в
+      котором хранится информация с версиями. На противоположной стороне
+      показана программа-клиент Subversion, которая управляет локальными
+      отражениями различных фрагментов этих данных (также называемыми
+      <quote>рабочими копиями</quote>). Между этими сторонами проложены
+      различные маршруты, проходящие через разные слои доступа к
+      хранилищу<footnote><para>Repository Access (RA)
+          layers</para></footnote>. Некоторые из этих маршрутов
+      используют компьютерные сети и сетевые сервера, чтобы достичь
+      хранилища, в то время как другие маршруты в сети не нуждаются и
       ведут к хранилищу напрямую.</para>
 
   </sect1>
@@ -605,7 +606,7 @@
 
     <!-- @ENGLISH {{{
     <title>Installing Subversion</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Установка Subversion</title>
 
     <!-- @ENGLISH {{{
@@ -614,7 +615,7 @@
       work on any operating system that the Apache httpd server runs
       on: Windows, Linux, all flavors of BSD, Mac OS X, Netware, and
       others.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Subversion построена на портабельном слое под названием
       APR (the Apache Portable Runtime library). Это означает, что
       Subversion должна работать на любой операционной системе на которой
@@ -633,7 +634,7 @@
       operating system, you can use your system's native package
       distribution system (RPMs, DEBs, the ports tree, etc.) to get
       Subversion.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Наиболее простой способ получить Subversion - скачать бинарный
       пакет, собранный для вашей операционной системы. Как правило, эти
       пакеты присланные волонтерами, доступны для загрузки с веб-сайта
@@ -661,7 +662,7 @@
       client program to grab the latest, bleeding-edge source code.
       This is documented in <xref
       linkend="svn.developer.contrib.get-code"/>.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>В качестве альтернативного варианта вы можете построить Subversion
       прямо из исходного кода. Закачайте с web-сайта Subversion последний
       source-code релиз. После его распаковки для его сборки
@@ -686,7 +687,7 @@
 
     <!-- @ENGLISH {{{
     <title>Subversion's Components</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Компоненты Subversion</title>
 
     <!-- @ENGLISH {{{
@@ -695,7 +696,7 @@
       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 }}} -->
+    @ENGLISH }}} -->
     <para>Установленная Subversion имеет определенное количество компонентов.
       Ниже перечисленное - краткий обзор того, что вы получаете. Не тревожьтесь
       если краткие описания заставляют вас чесать затылок, в этой книге есть
@@ -709,7 +710,7 @@
         <listitem>
           <!-- @ENGLISH {{{
           <para>The command-line client program.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>CLI-клиент.</para>
         </listitem>
       </varlistentry>
@@ -720,7 +721,7 @@
           <!-- @ENGLISH {{{
           <para>A program for reporting the state (in terms of
             revisions of the items present) of a working copy.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Программа показывающая состояние (в пределах ревизий
             существующих элементов) рабочей копии.</para>
         </listitem>
@@ -731,7 +732,7 @@
         <listitem>
           <!-- @ENGLISH {{{
           <para>A tool for inspecting a Subversion repository.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Инстумент для контроля Subversion хранилища.</para>
         </listitem>
       </varlistentry>
@@ -742,7 +743,7 @@
           <!-- @ENGLISH {{{
           <para>A tool for creating, tweaking or repairing a Subversion
             repository.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Инструмент для создания, настройки или востановления
             Subversion хранилища.</para>
         </listitem>
@@ -754,7 +755,7 @@
           <!-- @ENGLISH {{{
           <para>A program for filtering Subversion repository dump
             streams.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Программа для фильтрации дамповых потоков
             Subversion хранилища.</para>
         </listitem>
@@ -767,7 +768,7 @@
           <para>A plug-in module for the Apache HTTP Server, used to
             make your repository available to others over a
             network.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Подключаемый модуль для HTTP сервера Apache, использующийся
             для предоставления сетевого доступа к вашему хранилищу.</para>
         </listitem>
@@ -780,7 +781,7 @@
           <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 }}} -->
+          @ENGLISH }}} -->
           <para>Собственный отдельный сервер, запускается как
             процесс-демон и доступен посредством SSH; еще один способ
             для предоставления сетевого доступа к хранилищу.</para>
@@ -793,7 +794,7 @@
       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 }}} -->
+    @ENGLISH }}} -->
     <para>При условии корректно установленой Subversion вы готовы к старту.
       Следующие две главы опысывают использование <command>svn</command>,
       CLI-клиента Subversion.</para>
@@ -808,7 +809,7 @@
 
     <!-- @ENGLISH {{{
     <title>A Quick Start</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Быстрый старт</title>
 
     <!-- @ENGLISH {{{
@@ -820,7 +821,7 @@
       experimentation, the following demonstration will get you up and
       running.  Along the way, we give links to the relevant chapters
       of this book.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Некоторые испытывают трудности поглощения новой технологии
       читая приближение <quote>с верху вниз</quote>, предлагаемое этой
       книгой. Этот раздел представляет собой очень короткое введение в
@@ -836,7 +837,7 @@
       the <quote>copy-modify-merge</quote> model used by both CVS and
       Subversion, then you should read <xref linkend="svn.basic"/>
       before going any further.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Если вы не совсем знакомы с концепциями контроля версий или
       моделью <quote>копирование-изменение-слияние</quote>, используемой
       как CVS так и Subversion, перед тем как идти дальше, вам нужно
@@ -847,28 +848,21 @@
       <para>The following example assumes that you have
         <command>svn</command>, the Subversion command-line client,
         and <command>svnadmin</command>, the administrative tool,
-        ready to go.  It also assumes that your <command>svn</command>
-        client has been compiled against Berkeley DB.  To verify this,
-        run <command>svn -ﳢversion</command> and make sure the
-        <literal>ra_local</literal> module is available.  Without this
-        module, the client cannot access <literal>file://</literal>
-        URLs.</para>
-      @ ENGLISH }}} -->
+        ready to go.  It also assumes you are using Subversion 1.2 or
+        later (run <command>svn -ﳢ-version</command> to check.)</para>
+      @ENGLISH }}} -->
       <para>Последующий пример предполагает наличие у вас работающих
-        Subversion CLI-клиента <command>svn</command> и
+        Subversion клиента для командной строки <command>svn</command> и
         инструмента администрирования <command>svnadmin</command>.
-        Кроме этого он рассчитан на то, что ваш <command>svn</command>
-        клиент собран с поддержкой Berkeley DB. Чтобы это проверить,
-        выполните <command>svn --version</command> и убедитесь
-        в доступности модуля <literal>ra_local</literal>.
-        Без этого модуля клиент не может обращаться по URL вида
-        <literal>file://</literal>.</para>
+        Кроме этого он рассчитан на то, что вы используете Subversion
+        версии 1.2 или или более поздней (для того, чтобы это проверить,
+        выполните <command>svn --version</command>).</para>
     </note>
 
     <!-- @ENGLISH {{{
     <para>Subversion stores all versioned data in a central
       repository.  To begin, create a new repository:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Subversion хранит всю версионированую информацию в
       центральном хранилище. Для начала, создадим новое
       хранилище:</para>
@@ -882,108 +876,158 @@
     <!-- @ENGLISH {{{
     <para>This command creates a new directory
       <filename>/path/to/repos</filename> which contains a Subversion
-      repository.  Make sure that this directory lives on a local
-      disk, <emphasis>not</emphasis> a network share.  This new
-      directory mainly contains a collection of Berkeley DB database
-      files.  You won't see your versioned files if you peek inside.
-      For more information about repository creation and maintenance,
-      see <xref linkend="svn.reposadmin"/>.</para>
-    @ ENGLISH }}} -->
+      repository.  This new directory contains (among other things) a
+      collection of database files.  You won't see your versioned
+      files if you peek inside.  For more information about repository
+      creation and maintenance, see
+      <xref linkend="svn.reposadmin"/>.</para>
+    @ENGLISH }}} -->
     <para>Эта команда создает новую директорию
       <filename>/path/to/repos</filename> содержащую Subversion
       хранилище. Убедитесь, что эта директория находится на локальном
       диске, <emphasis>не</emphasis> на сетевой шаре. Преимущественно в
-      этой новой директории содержится набор файлов базы данных Berkeley DB.
-      Если вы загляните внутрь, своих версионированых файлов вы не увидите.
+      эта новая директория (кроме прочего) содержит набор файлов базы данных.
+      Вы не увидите своих версионированых файлов если вы загляните внутрь.
       Больше информации о создании и поддержке репозитория ищите в
       <xref linkend="svn.reposadmin"/>.</para>
 
     <!-- @ENGLISH {{{
-    <para>Next, create a tree of files and directories to import into
-      the repository.  For reasons that will be clear later on (see
-      <xref linkend="svn.branchmerge"/>), your structure should contain three
-      top-level directories named <filename>branches</filename>,
+    <para>Subversion has no concept of a <quote>project</quote>.  The
+      repository is just a virtual versioned filesystem, a large tree
+      that can hold anything you wish.  Some administrators prefer to
+      store only one project in a repository, and others prefer to
+      store multiple projects in a repository by placing them into
+      separate directories.  The merits of each approach are discussed
+      in <xref linkend="svn.reposadmin.projects.chooselayout"/>.
+      Either way, the repository only manages files and directories,
+      so it's up to humans to interpret particular directories
+      as <quote>projects</quote>.</para>
+    @ENGLISH }}} -->
+    <para>У Subversion нет понятия <quote>проект</quote>. Хранилище
+      является просто виртуальной версионированой файловой системой,
+      большое дерево файлов, которое может содержать все, что угодно.
+      Одни администраторы предпочитают держать в хранилище только
+      один проект, другие держать в хранилище множество проектов,
+      размещая их в отдельных директориях. Достоинства каждого из
+      подходов рассмотрены в  <xref
+      linkend="svn.reposadmin.projects.chooselayout"/>. В любом случае,
+      хранилище управляет только файлами и директориями, оставляя
+      за человеком право интерпретировать отдельные директории
+      как <quote>проекты</quote>.</para>
+
+    <!-- @ENGLISH {{{
+    <para>In this example, we assume that you already have some sort
+      of project (a collection of files and directories) that you wish
+      to import into your newly created Subversion repository.  Begin
+      by organizing them into a single directory
+      called <filename>myproject</filename> (or whatever you wish).
+      For reasons that will be clear later on (see
+      <xref linkend="svn.branchmerge"/>), your project's tree
+      structure should contain three top-level directories
+      named <filename>branches</filename>,
       <filename>tags</filename>, and
-      <filename>trunk</filename>:</para>
-    @ ENGLISH }}} -->
-    <para>Затем, создаем дерево файлов и директорий для импортирования
-      в хранилище. По причинам, которые будут ясны позже (см.
-      <xref linkend="svn.branchmerge"/>), ваша конструкция должна содержать
+      <filename>trunk</filename>.  The <filename>trunk</filename>
+      directory should contain all of your data,
+      while <filename>branches</filename>
+      and <filename>tags</filename> directories are empty:</para>
+    @ENGLISH }}} -->
+    <para>В этом примере мы подразумеваем наличие у вас какого то проекта
+      (набора файлов или директорий), который вы хотите импортировать в
+      только что созданое Subversion хранилище. Начните с объединения их
+      в отдельной директории названой <filename>myproject</filename>
+      (или как то иначе). По причинам, которые будут ясны позже (см.
+      <xref linkend="svn.branchmerge"/>), ваше дерево проекта должно содержать
       три директории верхнего уровня с названиями
       <filename>branches</filename>, <filename>tags</filename> и
-      <filename>trunk</filename>:</para>
+      <filename>trunk</filename>. Вся ваша информация должна находиться в
+      в директории <filename>trunk</filename>, а директории
+      <filename>branches</filename> и <filename>tags</filename> должны быть
+      пустыми:</para>
 
     <screen>
-/tmp/project/branches/
-/tmp/project/tags/
-/tmp/project/trunk/
-               foo.c
-               bar.c
-               Makefile
-               …
+/tmp/myproject/branches/
+/tmp/myproject/tags/
+/tmp/myproject/trunk/
+                    foo.c
+                    bar.c
+                    Makefile
+                    …
 </screen>
 
     <!-- @ENGLISH {{{
-    <para>Once you have a tree of data ready to go, import the data
-      into the repository with the <command>svn import</command>
-      command (see <xref linkend="svn.tour.other.import"/>):</para>
-    @ ENGLISH }}} -->
-    <para>Как только вы получите готовое дерево данных, при помощи
-      команды <command>svn import</command> импортируйте информацию в
-      хранилище (см. <xref linkend="svn.tour.other.import"/>):</para>
+    <para>Once you have your tree of data ready to go, import it into
+      the repository with the <command>svn import</command> command
+      (see <xref linkend="svn.tour.other.import"/>):</para>
+    @ENGLISH }}} -->
+    <para>Как только вы получите готовое дерево данных, импортируйте его
+      в хранилище при помощи команды <command>svn import</command>
+      (см. <xref linkend="svn.tour.other.import"/>):</para>
 
     <screen>
-$ svn import /tmp/project file:///path/to/repos -m "initial import"
-Adding         /tmp/project/branches
-Adding         /tmp/project/tags
-Adding         /tmp/project/trunk
-Adding         /tmp/project/trunk/foo.c
-Adding         /tmp/project/trunk/bar.c
-Adding         /tmp/project/trunk/Makefile
+$ svn import /tmp/myproject file:///path/to/repos/myproject -m "initial import"
+Adding         /tmp/myproject/branches
+Adding         /tmp/myproject/tags
+Adding         /tmp/myproject/trunk
+Adding         /tmp/myproject/trunk/foo.c
+Adding         /tmp/myproject/trunk/bar.c
+Adding         /tmp/myproject/trunk/Makefile
 …
 Committed revision 1.
 $
 </screen>
 
     <!-- @ENGLISH {{{
-    <para>Now the repository contains this tree of data.  Note that
-      the original <filename>/tmp/project</filename> directory is
-      unchanged; Subversion is unaware of it.  (In fact, you can even
-      delete that directory if you wish.)  In order to start
-      manipulating repository data, you need to create a new
+    <para>Now the repository contains this tree of data.  As mentioned
+      earlier, you won't see your files by directly peeking into the
+      repository;  they're all stored within a database.  But the
+      repository's imaginary filesystem now contains a top-level
+      directory named <filename>myproject</filename>, which in turn
+      contains your data.</para>
+    @ENGLISH }}} -->
+    <para>Теперь в хранилище находится это дерево данных. Как было
+      отмечено ранее, вы не увидите своих файлов если загляните в
+      хранилище напрямую; все хранится в базе данных. Однако сейчас
+      воображаемая файловая системы хранилища имеет директорию верхнего
+      уровня с названием <filename>myproject</filename> которая
+      содержит вашу информацию.</para>
+
+    <!-- @ENGLISH {{{
+    <para>Note that the original <filename>/tmp/myproject</filename>
+      directory is unchanged; Subversion is unaware of it.  (In fact,
+      you can even delete that directory if you wish.)  In order to
+      start manipulating repository data, you need to create a new
       <quote>working copy</quote> of the data, a sort of private
       workspace.  Ask Subversion to <quote>check out</quote> a working
-      copy of the repository's <filename>trunk</filename>
-      directory:</para>
-    @ ENGLISH }}} -->
-    <para>Теперь хранилище содержит это дерево информации. Обратите
-      внимание на то, что первоначальная директория
+      copy of the <filename>myproject/trunk</filename> directory in
+      the repository:</para>
+    @ENGLISH }}} -->
+    <para>Обратите внимание на то, что первоначальная директория
       <filename>/tmp/project</filename> остается без изменений;
       Subversion о ней не знает. (Фактически, при желании, вы можете даже
       удалить этот каталог.) Чтобы начать работать с информацией хранилища
       вам нужно создать новую <quote>рабочую копию</quote> информации,
       своего рода частное рабочее пространство. Попросите Subversion
-      создать рабочую копию директории <filename>
-      trunk</filename> репозитория:</para>
+      создать рабочую копию директории <filename>myproject/trunk</filename>
+      хранилища:</para>
 
     <screen>
-$ svn checkout file:///path/to/repos/trunk project
-A  project/foo.c
-A  project/bar.c
-A  project/Makefile
+$ svn checkout file:///path/to/repos/myproject/trunk myproject
+A  myproject/foo.c
+A  myproject/bar.c
+A  myproject/Makefile
 …
 Checked out revision 1.
 </screen>
 
     <!-- @ENGLISH {{{
     <para>Now you have a personal copy of part of the repository in a
-      new directory named <filename>project</filename>.  You can edit
+      new directory named <filename>myproject</filename>.  You can edit
       the files in your working copy and then commit those changes
       back into the repository.</para>
-    @ ENGLISH }}} -->
-    <para>Сейчас у вас в новой директории <filename>project</filename>
+    @ENGLISH }}} -->
+    <para>Сейчас у вас в новой директории <filename>myproject</filename>
       есть личная копия части хранилища. В рабочей копии вы можете
-      редактировать файлы, а затем отправить внесенные изменения обратно
+      редактировать файлы, а затем зафиксировать внесенные изменения
       в хранилище.</para>
 
     <itemizedlist>
@@ -991,7 +1035,7 @@
         <!-- @ENGLISH {{{
         <para>Enter your working copy and edit a file's
           contents.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Откройте свою рабочую копию и отредактируйте
           содержимое файлов.</para>
       </listitem>
@@ -999,7 +1043,7 @@
         <!-- @ENGLISH {{{
         <para>Run <command>svn diff</command> to see unified diff
           output of your changes.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Выполните <command>svn diff</command> чтобы увидеть
           объединенный diff внесенных изменений.</para>
       </listitem>
@@ -1007,7 +1051,7 @@
         <!-- @ENGLISH {{{
         <para>Run <command>svn commit</command> to commit the new
           version of your file to the repository.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Выполните <command>svn commit</command> для фиксации
           новой версии ваших файлов в хранилище.</para>
       </listitem>
@@ -1015,7 +1059,7 @@
         <!-- @ENGLISH {{{
         <para>Run <command>svn update</command> to bring your working
           copy <quote>up-to-date</quote> with the repository.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Выполните <command>svn update</command> для приведения
           рабочей копии в <quote>актуальное</quote> состояние по
           отношению к хранилищу.</para>
@@ -1025,7 +1069,7 @@
     <!-- @ENGLISH {{{
     <para>For a full tour of all the things you can do with your
       working copy, read <xref linkend="svn.tour"/>.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Для получения полного списка возможных действий с рабочей копией
       прочтите <xref linkend="svn.tour"/>.</para>
 
@@ -1034,7 +1078,7 @@
       available to others over a network.  See <xref
       linkend="svn.serverconfig"/> to learn about the different sorts of
       server processes available and how to configure them.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>После этого вы можете сделать ваше хранилище доступным
       для других через сеть. См. <xref linkend="svn.serverconfig"/> для
       знакомства с различными типами доступных серверных процессов

Modified: trunk/src/ru/book/ch02.xml
==============================================================================
--- trunk/src/ru/book/ch02.xml	(original)
+++ trunk/src/ru/book/ch02.xml	Sat Jul 23 08:39:53 2005
@@ -3,11 +3,12 @@
 
   <!-- @ENGLISH {{{
   <title>Basic Concepts</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Основные понятия</title>
   <chapterinfo>
     <!-- See also svn.preface.organization -->
-    <othername id="svn.basic.accusative-case" role="title-variant">главу 
+    <edition>1530</edition>
+    <othername id="svn.basic.accusative-case" role="title-variant">главу
       2, «Основные понятия»</othername>
   </chapterinfo>
 
@@ -19,7 +20,7 @@
       concepts, work our way into the specific ideas behind
       Subversion, and show some simple examples of Subversion in
       use.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Эта глава представляет собой краткое, промежуточное введение
       в Subversion. Если контроль версий для вас в новинку, то эта глава
       специально для вас. Мы начнем с обсуждения основных понятий
@@ -31,7 +32,7 @@
       collections of program source code, keep in mind that Subversion
       can manage any sort of file collection—it's not limited to
       helping computer programmers.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Несмотря на то, что примеры в этой главе показывают людей
       делящих между собой набор исходников программы, помните, что
       Subversion может управлять набором файлов любого типа — она не
@@ -48,7 +49,7 @@
   <sect1 id="svn.basic.repository">
     <!-- @ENGLISH {{{
     <title>The Repository</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Хранилище</title>
 
     <!-- @ENGLISH {{{
@@ -62,7 +63,7 @@
       makes the information available to others; by reading data, the
       client receives information from others.  <xref
       linkend="svn.basic.repository.dia-1"/> illustrates this.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Subversion является централизованной системой для разделения
       информации. В ее основе хранилище, являющееся центром хранения
       данных. Хранилище хранит информацию в форме
@@ -77,7 +78,7 @@
     <figure id="svn.basic.repository.dia-1">
       <!-- @ENGLISH {{{
       <title>A typical client/server system</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Типичная клиент/серверная система</title>
       <graphic fileref="images/ch02dia1.png"/>
     </figure>
@@ -91,7 +92,7 @@
       to it: every change to every file, and even changes to the
       directory tree itself, such as the addition, deletion, and
       rearrangement of files and directories.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Почему мы заостряем на этом внимание? Пока это звучит как
       определение типичного файл-сервера. И действительно, хранилище
       <emphasis>является</emphasis> разновидностью файл-сервера, однако не
@@ -114,7 +115,7 @@
       systems that are designed to record and track changes to data
       over time.
     </para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>При чтении данных из хранилища клиент обычно видит только
       последнюю версию дерева файлов. Но клиент также имеет возможность
       просмотреть <emphasis>предыдущие</emphasis> состояния файловой системы.
@@ -133,14 +134,14 @@
   <sect1 id="svn.basic.vsn-models">
     <!-- @ENGLISH {{{
     <title>Versioning Models</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Модели версионирования</title>
 
     <!-- @ENGLISH {{{
     <para>The core mission of a version control system is to enable
       collaborative editing and sharing of data.  But different
       systems use different strategies to achieve this.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Основной задачей системы управления версиями является
       обеспечение совместного редактирования и распределения информации.
       Однако разные системы используют разные способы для
@@ -151,7 +152,7 @@
     <sect2 id="svn.basic.vsn-models.problem-sharing">
       <!-- @ENGLISH {{{
       <title>The Problem of File-Sharing</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Проблема разделения файлов</title>
 
       <!-- @ENGLISH {{{
@@ -161,7 +162,7 @@
         each other's feet?  It's all too easy for users to
         accidentally overwrite each other's changes in the
         repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Всем системам контроля версий приходится решать одну и ту же
         основную проблему: как предоставить пользователям возможность
         совместного использования информации, при этом, не позволяя им
@@ -184,7 +185,7 @@
         still effectively lost—or at least missing from the
         latest version of the file—and probably by accident.
         This is definitely a situation we want to avoid!</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Рассматриваемую ситуацию иллюстрирует <xref
         linkend="svn.basic.vsn-models.problem-sharing.dia-1"/>.
         Допустим у нас есть два
@@ -213,7 +214,7 @@
     <sect2 id="svn.basic.vsn-models.lock-unlock">
       <!-- @ENGLISH {{{
       <title>The Lock-Modify-Unlock Solution</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Модель Блокирование-Изменений-Разблокирование</title>
 
       <!-- @ENGLISH {{{
@@ -231,7 +232,7 @@
         now Sally can take her turn by locking and editing.  <xref
         linkend="svn.basic.vsn-models.lock-unlock.dia-1"/> demonstrates this simple
         solution.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Многие системы управления версиями применяют в отношении
         этой проблемы модель
         <firstterm>блокирование-изменение-разблокирование</firstterm>.
@@ -251,7 +252,7 @@
       <figure id="svn.basic.vsn-models.lock-unlock.dia-1">
         <!-- @ENGLISH {{{
         <title>The lock-modify-unlock solution</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Модель блокирование-изменение-разблокирование</title>
         <graphic fileref="images/ch02dia3.png"/>
       </figure>
@@ -260,7 +261,7 @@
       <para>The problem with the lock-modify-unlock model is that it's
         a bit restrictive, and often becomes a roadblock for
         users:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Проблемой модели блокирование-изменение-разблокирование
         является то, что она немного ограниченная и часто доставляет
         неудобства пользователям:</para>
@@ -277,7 +278,7 @@
             Sally has to get an administrator to release Harry's lock.
             The situation ends up causing a lot of unnecessary delay
             and wasted time.
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para><emphasis>Блокирование может вызвать проблемы
             администрирования.</emphasis>
 
@@ -301,7 +302,7 @@
             come, assuming the changes were properly merged together.
             There's no need for them to take turns in this
             situation.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para><emphasis>Блокирование может вызвать излишнюю
             пошаговость.</emphasis>
 
@@ -329,7 +330,7 @@
             safe, insulated task, and thus not bother
             discussing their incompatible changes early
             on.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para><emphasis>Блокирование может вызвать ложное чувство
             безопасности.</emphasis>
 
@@ -352,7 +353,7 @@
     <sect2 id="svn.basic.vsn-models.copy-merge">
       <!-- @ENGLISH {{{
       <title>The Copy-Modify-Merge Solution</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Модель Копирование-Изменение-Слияние</title>
 
       <!-- @ENGLISH {{{
@@ -367,7 +368,7 @@
         The version control system often assists with the merging, but
         ultimately a human being is responsible for making it happen
         correctly.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Subversion, CVS и другие системы управления версиями
         пользуются моделью
         <firstterm>копирование-изменение-слияние</firstterm> в качестве
@@ -396,7 +397,7 @@
         saves his working copy back to the repository.  <xref
         linkend="svn.basic.vsn-models.copy-merge.dia-1"/> and <xref linkend="svn.basic.vsn-models.copy-merge.dia-2"/>
         show this process.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Вот пример. Скажем и Гарри и Салли создали копированием из
         хранилища рабочие копии одного и того же проекта. Они работают
         одновременно и в своих рабочих копиях вносят изменения в один и
@@ -418,7 +419,7 @@
       <figure id="svn.basic.vsn-models.copy-merge.dia-1">
         <!-- @ENGLISH {{{
         <title>The copy-modify-merge solution</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Модель копирование-изменение-слияние</title>
         <graphic fileref="images/ch02dia4.png"/>
       </figure>
@@ -426,7 +427,7 @@
       <figure id="svn.basic.vsn-models.copy-merge.dia-2">
         <!-- @ENGLISH {{{
         <title>The copy-modify-merge solution (continued)</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Модель копирование-изменение-слияние (продолжение)</title>
         <graphic fileref="images/ch02dia5.png"/>
       </figure>
@@ -445,7 +446,7 @@
         manually resolved the overlapping changes—perhaps after
         a discussion with Sally—he can safely save the
         merged file back to the repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>А что если изменения Салли перекрываются с
         <emphasis>изменениями</emphasis> Гарри? Что тогда? Эта ситуация
         называется <firstterm>конфликтом</firstterm> и, как правило, это не
@@ -467,7 +468,7 @@
         changes don't overlap at all; conflicts are infrequent.  And
         the amount of time it takes to resolve conflicts is far less
         than the time lost by a locking system.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Модель копирование-изменение-слияние может выглядеть немного
         хаотично, однако, на практике она отлично работает. Пользователи могут
         работать параллельно, не тратя время на ожидание друг друга. При
@@ -486,7 +487,7 @@
         promise that a locking system will somehow prevent conflicts;
         in practice, locking seems to inhibit productivity more than
         anything else.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Наконец, все сходится к такому критическому фактору, как
         взаимодействие пользователей. При плохом взаимопонимании увеличивается
         количество как синтаксических, так и семантических конфликтов.
@@ -499,14 +500,14 @@
       <sidebar id="svn.basic.vsn-models.copy-merge.sb-1">
         <!-- @ENGLISH {{{
         <title>When Locking is Necessary</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Когда блокирование необходимо</title>
 
         <!-- @ENGLISH {{{
         <para>While the lock-modify-unlock model is considered
           generally harmful to collaboration, there are still times
           when locking is appropriate.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Несмотря на то, что модель
           блокирование-изменение-разблокирование названа, вцелом, губительной
           для командной работы, все-таки есть моменты когда блокирование
@@ -523,7 +524,7 @@
           turns when changing the file.  Without serialized access,
           somebody ends up wasting time on changes that are ultimately
           discarded.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Модель копирование-изменение-слияние основывается на
           предположении о том, что файлы контекстно объединяемы: это так
           если большинство файлов в хранилище — основаные на строках
@@ -540,7 +541,7 @@
           copy-modify-merge systems, they both recognize the need to
           lock an occasional file and provide mechanisms for this.
           See <xref linkend="svn.advanced.locking"/>.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Так как CVS и Subversion в первую очередь системы типа
           копирование-изменение-слияние в них обоих признается необходимость
           блокирования определенных файлов и предлагаются механизмы для
@@ -560,14 +561,14 @@
   <sect1 id="svn.basic.in-action">
     <!-- @ENGLISH {{{
     <title>Subversion in Action</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Subversion в действии</title>
 
     <!-- @ENGLISH {{{
     <para>It's time to move from the abstract to the concrete.  In
       this section, we'll show real examples of Subversion being
       used.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Время перейти от абстракций к конкретике. В этом разделе мы покажем
       реальные примеры использования Subversion.</para>
 
@@ -575,14 +576,14 @@
     <sect2 id="svn.basic.in-action.wc">
       <!-- @ENGLISH {{{
       <title>Working Copies</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Рабочие копии</title>
 
       <!-- @ENGLISH {{{
       <para>You've already read about working copies; now we'll
         demonstrate how the Subversion client creates and uses
         them.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Вы уже читали о рабочих копиях; теперь мы покажем как
         Subversion-клиент создает и использует их.</para>
 
@@ -595,7 +596,7 @@
         Subversion will never incorporate other people's changes, nor
         make your own changes available to others, until you
         explicitly tell it to do so.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Рабочая копия Subversion представляет собой обычное дерево
         директорий на вашем компьютере, содержащее набор файлов. Вы можете
         по-своему усмотрению редактировать эти файлы и, если это исходные коды,
@@ -614,7 +615,7 @@
         own changes, Subversion provides you with commands to merge
         those changes into your working directory (by reading from the
         repository).</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>После того, как вы внесли изменения в файлы вашей рабочей копии и
         убедились в том, что они корректно работают, Subversion предлагает вам
         команды <quote>публикации</quote> (записи в хранилище) ваших
@@ -634,7 +635,7 @@
         directory help Subversion recognize which files contain
         unpublished changes, and which files are out-of-date with
         respect to others' work.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Рабочая копия содержит несколько дополнительных файлов, созданных
         и обслуживаемых Subversion, которые помогают ей при выполнении этих
         команд. В частности, каждая директория в вашей рабочей копии содержит
@@ -650,7 +651,7 @@
         subdirectory in the repository's filesystem tree.  In this
         arrangement, a user's working copy will usually correspond to
         a particular subtree of the repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Как правило, хранилище Subversion содержит файлы (или исходный
         код) нескольких проектов; обычно каждый проект представляется в виде
         поддиректории файловой системы хранилища. При таком подходе,
@@ -663,7 +664,7 @@
         <literal>calc</literal>.  Each project lives in its own
         top-level subdirectory, as shown in <xref
         linkend="svn.basic.in-action.wc.dia-1"/>.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Например, предположим, что у вас есть хранилище, содержащий два
         программных проекта <literal>paint</literal> и
         <literal>calc</literal>. Каждый проект располагается в своей
@@ -673,7 +674,7 @@
       <figure id="svn.basic.in-action.wc.dia-1">
         <!-- @ENGLISH {{{
         <title>The repository's filesystem</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Файловая система хранилища</title>
         <graphic fileref="images/ch02dia6.png"/>
       </figure>
@@ -686,7 +687,7 @@
         creates a private copy of the project for you.) For example,
         if you check out <filename>/calc</filename>, you will get a
         working copy like this:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Для того чтобы сделать рабочую копию, вам нужно
         <firstterm>заполучить</firstterm> какую-либо из поддиректорий
         хранилища. (Возможно, термин <firstterm>заполучить</firstterm>
@@ -715,7 +716,7 @@
         entry—<filename>.svn</filename>—which holds the
         extra information needed by Subversion, as mentioned
         earlier.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Буквы А говорят о том, что Subversion добавляет этот элемент в
         вашу рабочую копию. Теперь у вас есть личная копия директории
         <filename>/calc</filename> хранилища, с одним небольшим добавлением
@@ -725,7 +726,7 @@
       <sidebar id="svn.basic.in-action.wc.sb-1">
         <!-- @ENGLISH {{{
         <title>Repository URLs</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>URL хранилища</title>
 
         <!-- @ENGLISH {{{
@@ -734,7 +735,7 @@
           network protocols.  A repository location, however, is
           always a URL.  <xref linkend="svn.basic.in-action.wc.tbl-1"/> describes how
           different URL schemas map to the available access methods.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Получить доступ к хранилищу Subversion можно различными
           способами — на локальном диске или через ряд сетевых протоколов.
           Местоположение хранилища всегда определяется при помощи URL.
@@ -745,7 +746,7 @@
         <table id="svn.basic.in-action.wc.tbl-1">
           <!-- @ENGLISH {{{
           <title>Repository Access URLs</title>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <title>URL для доступа к хранилищу.</title>
           <tgroup cols="2">
             <thead>
@@ -753,7 +754,7 @@
                 <!-- @ENGLISH {{{
                 <entry>Schema</entry>
                 <entry>Access Method</entry>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <entry>Схема</entry>
                 <entry>Метод доступа</entry>
               </row>
@@ -763,7 +764,7 @@
                 <entry><literal>file:///</literal></entry>
                 <!-- @ENGLISH {{{
                 <entry>direct repository access (on local disk)</entry>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <entry>прямой доступ к хранилищу
                   (на локальном диске)</entry>
               </row>
@@ -772,7 +773,7 @@
                 <!-- @ENGLISH {{{
                 <entry>access via WebDAV protocol to Subversion-aware
                   Apache server</entry>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <entry>доступ к серверу Apache через протокол WebDAV</entry>
               </row>
               <row>
@@ -780,7 +781,7 @@
                 <!-- @ENGLISH {{{
                 <entry>same as <literal>http://</literal>, but with
                   SSL encryption.</entry>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <entry>тоже что и <literal>http://</literal> но с
                   SSL-шифрованием</entry>
               </row>
@@ -789,7 +790,7 @@
                 <!-- @ENGLISH {{{
                 <entry>access via custom protocol to an
                   <literal>svnserve</literal> server</entry>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <entry>доступ через собственный протокол к серверу
                   <literal>svnserve</literal></entry>
               </row>
@@ -798,7 +799,7 @@
                 <!-- @ENGLISH {{{
                 <entry>same as <literal>svn://</literal>, but through
                   an SSH tunnel.</entry>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <entry>тоже что и <literal>svn://</literal>, но через
                   SSH-соединение</entry>
               </row>
@@ -809,7 +810,7 @@
         <!-- @ENGLISH {{{
         <para>For more information on how Subversion parses URLs, see
         <xref linkend="svn.advanced.reposurls"/>.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Подробнее о том, как Subversion обрабатывает URL, см. в
           <xref linkend="svn.advanced.reposurls"/>.</para>
 
@@ -824,7 +825,7 @@
         The act of publishing your changes is more commonly known as
         <firstterm>committing</firstterm> (or <firstterm>checking
         in</firstterm>) changes to the repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Предположим вы внесли изменения в <filename>button.c</filename>.
         Так как директория <filename>.svn</filename> помнит дату изменения
         файла и его оригинальное содержимое, Subversion может сказать о том,
@@ -836,7 +837,7 @@
       <!-- @ENGLISH {{{
       <para>To publish your changes to others, you can use
         Subversion's <command>commit</command> command:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Для того, что бы опубликовать ваши изменения вы можете
         воспользоваться командой <command>commit</command>:</para>
 
@@ -852,7 +853,7 @@
         been committed to the repository; if another user checks out a
         working copy of <filename>/calc</filename>, they will see
         your changes in the latest version of the file.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Теперь ваши изменения в <filename>button.c</filename>
         зафиксированы в хранилище; если другой пользователь
         создаст рабочую копию <filename>/calc</filename> он увидит
@@ -865,7 +866,7 @@
         <filename>button.c</filename>, Sally's working copy is left
         unchanged; Subversion only modifies working copies at the
         user's request.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Предположим у вас есть со-разработчик, Салли, которая
         создала рабочую копию <filename>/calc</filename> одновременно
         с вами. Когда вы зафиксировали изменения в
@@ -880,7 +881,7 @@
         This will incorporate your changes into her working copy, as
         well as any others that have been committed since she checked
         it out.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Для приведения рабочей копии в актуальное состояние, Салли
         может попросить Subversion <firstterm>обновить</firstterm> ее
         рабочую копию, используя команду Subversion
@@ -907,7 +908,7 @@
         in the <filename>.svn</filename> directory, and further
         information in the repository, to decide which files need to
         be brought up to date.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Вывод команды <command>svn update</command> говорит, что
         Subversion обновила содержимое <filename>button.c</filename>.
         Обратите внимание, что Салли не нужно указывать какой файл обновить;
@@ -924,7 +925,7 @@
     <sect2 id="svn.basic.in-action.revs">
       <!-- @ENGLISH {{{
       <title>Revisions</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Правки</title>
 
       <!-- @ENGLISH {{{
@@ -934,7 +935,7 @@
         files' contents, create, delete, rename and copy files and
         directories, and then commit the complete set of changes as a
         unit.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Операция <command>svn commit</command> может опубликовать
         изменения любого количества файлов и директорий за одну
         атомарную транзакцию. В своей рабочей копии вы можете менять
@@ -948,7 +949,7 @@
         none of them take place.  Subversion tries to retain this
         atomicity in the face of program crashes, system crashes,
         network problems, and other users' actions.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>В хранилище каждая фиксация отражается как атомарная
         транзакция: либо изменения вносятся полностью, либо не вносятся
         вовсе. Subversion ведет себя так, принимая в расчет возможные
@@ -963,7 +964,7 @@
         previous revision.  The initial revision of a freshly created
         repository is numbered zero, and consists of nothing but an
         empty root directory.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Каждый раз когда хранилище получает фиксацию, создается
         новое состояние файловой системы, называемое
         <firstterm>правка</firstterm>. Каждая правка получает
@@ -979,7 +980,7 @@
         revision number has a filesystem tree hanging below it, and
         each tree is a <quote>snapshot</quote> of the way the
         repository looked after a commit.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para><xref linkend="svn.basic.in-action.revs.dia-1"/> отлично
         иллюстрирует хранилище. Представьте массив номеров правок,
         начинающийся с 0, распространяясь слева на право. Каждый номер
@@ -990,7 +991,7 @@
       <figure id="svn.basic.in-action.revs.dia-1">
         <!-- @ENGLISH {{{
         <title>The repository</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Хранилище</title>
         <graphic fileref="images/ch02dia7.png"/>
       </figure>
@@ -998,7 +999,7 @@
       <sidebar>
         <!-- @ENGLISH {{{
         <title>Global Revision Numbers</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Сквозные номера правок</title>
 
         <!-- @ENGLISH {{{
@@ -1016,7 +1017,7 @@
           <emphasis>not</emphasis> necessarily differ!  Because CVS
           uses per-file revisions numbers, CVS users might want to see
           <xref linkend="svn.forcvs"/> for more details.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>В отличие от многих других систем контроля версий номера правок
           в Subversion относятся <emphasis>ко всем</emphasis>, а не только к
           отдельно взятым файлам. Каждый номер правки соответствует целому
@@ -1038,7 +1039,7 @@
         contain files from several different revisions.  For example,
         suppose you check out a working copy from a repository whose
         most recent revision is 4:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Важно помнить то, что рабочие копии не всегда соответствуют
         какой-то одной правке в хранилище; они могут содержать файлы из
         различных правок. Например, вы получили рабочую копию из хранилища,
@@ -1057,7 +1058,7 @@
         change.  Assuming no other commits have taken place, your
         commit will create revision 5 of the repository, and your
         working copy will now look like this:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>На данный момент рабочая директория полностью соответствует
         правке 4 в хранилище. Допустим, что вы внесли изменения в
         <filename>button.c</filename>, и зафиксировали эти изменения.
@@ -1076,7 +1077,7 @@
         <filename>integer.c</filename>, creating revision 6.  If you
         use <command>svn update</command> to bring your working copy
         up to date, then it will look like this:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Предположим, что после этого Салли фиксирует изменения <filename>
         integer.c</filename>, создавая правку 6. Если вы воспользуетесь
         <command>svn update</command> для приведения своей рабочей копии
@@ -1098,7 +1099,7 @@
         indicate that it is still current.  So, after you do a clean
         update at the top of your working copy, it will generally
         correspond to exactly one revision in the repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Изменения, внесенные Сэлли в <filename>integer.c</filename> будут
         отражены в вашей рабочей копии, и ваши изменения в
         <filename>button.c</filename> также будут присутствовать. В этом
@@ -1117,14 +1118,14 @@
     <sect2 id="svn.basic.in-action.track-repos">
       <!-- @ENGLISH {{{
       <title>How Working Copies Track the Repository</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Как рабочие копии отслеживают хранилище</title>
 
       <!-- @ENGLISH {{{
       <para>For each file in a working directory, Subversion records
         two essential pieces of information in the
         <filename>.svn/</filename> administrative area:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Для каждого файла рабочей директории, в административной области
         <filename>.svn/</filename>, Subversion записывает информацию о двух
         важнейших свойствах:</para>
@@ -1136,7 +1137,7 @@
           <para>what revision your working file is based on (this is
             called the file's <firstterm>working
             revision</firstterm>), and</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>на какой правке основан ваш рабочий файл (это
             называется <firstterm>рабочая правка</firstterm> файла),
             и</para>
@@ -1146,7 +1147,7 @@
           <!-- @ENGLISH {{{
           <para>a timestamp recording when the local copy was last
             updated by the repository.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>временной метке, определяющей, когда рабочая копия последний
             раз обновлялась из хранилища.</para>
         </listitem>
@@ -1156,7 +1157,7 @@
       <para>Given this information, by talking to the repository,
         Subversion can tell which of the following four states a
         working file is in:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Получая эту информацию при соединении с хранилищем Subversion
         может сказать в каком из следующих четырех состояний находится рабочий
         файл:</para>
@@ -1165,7 +1166,7 @@
         <varlistentry>
           <!-- @ENGLISH {{{
           <term>Unchanged, and current</term>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <term>Не изменялся и не устарел</term>
 
           <listitem>
@@ -1176,7 +1177,7 @@
               commit</command> of the file will do nothing, and an
               <command>svn update</command> of the file will do
               nothing.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл не изменялся в рабочей директории и в хранилище не
               фиксировались изменения этого файла со времени создания его
               рабочей правки. Команда <command>svn commit</command> не
@@ -1188,7 +1189,7 @@
         <varlistentry>
           <!-- @ENGLISH {{{
           <term>Locally changed, and current</term>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <term>Изменялся локально и не устарел</term>
 
           <listitem>
@@ -1200,7 +1201,7 @@
               thus an <command>svn commit</command> of the file will
               succeed in publishing your changes, and an <command>svn
               update</command> of the file will do nothing.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл был изменен в рабочей директории а в хранилище не
               фиксировались изменения этого файла после правки, на которой он
               основан. Есть локальные изменения, которые не были зафиксированы
@@ -1213,7 +1214,7 @@
         <varlistentry>
           <!-- @ENGLISH {{{
           <term>Unchanged, and out-of-date</term>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <term>Не изменялся и устарел</term>
 
           <listitem>
@@ -1225,7 +1226,7 @@
               commit</command> of the file will do nothing, and an
               <command>svn update</command> of the file will fold the
               latest changes into your working copy.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>В рабочей директории файл не изменялся но был изменен в
               хранилище. Необходимо выполнить обновление файла для того,
               чтобы он соответствовал опубликованной правке. Команда <command>
@@ -1238,7 +1239,7 @@
         <varlistentry>
           <!-- @ENGLISH {{{
           <term>Locally changed, and out-of-date</term>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <term>Изменялся локально и устарел</term>
 
           <listitem>
@@ -1252,7 +1253,7 @@
               changes.  If Subversion can't complete the merge in a
               plausible way automatically, it leaves it to the user to
               resolve the conflict.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл был изменен как в рабочей директории, так и в
               хранилище. <command>svn update</command> потерпит неудачу с
               ошибкой <quote>out-of-date</quote>. Файл необходимо сначала
@@ -1270,7 +1271,7 @@
         <command>svn status</command> command will show you the state
         of any item in your working copy.  For more information on
         that command, see <xref linkend="svn.tour.cycle.examine.status" />.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Совсем не обязательно заниматься подобным гаданием, для того, что
         бы узнать состояние любого элемента в рабочей в вашей рабочей копии
         воспользуйтесь командой <command>svn status</command>. За более
@@ -1284,7 +1285,7 @@
     <sect2 id="svn.basic.in-action.mixedrevs">
       <!-- @ENGLISH {{{
       <title>The Limitations of Mixed Revisions</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Ограничения смешанных правок</title>
 
       <!-- @ENGLISH {{{
@@ -1292,7 +1293,7 @@
         as possible.  One special kind of flexibility is the ability
         to have a working copy containing mixed revision
         numbers.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Subversion пытается быть гибкой настолько, насколько это возможно.
         В частности, существует возможность иметь рабочую копию, содержащую
         правки смешанных номеров.</para>
@@ -1308,7 +1309,7 @@
         <command>svn update</command>.  Why would someone
         <emphasis>deliberately</emphasis> want a mixture of working
         revisions?</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>По началу может быть непонятным, почему это является
         дополнительной возможностью, а не правилом. После выполнения фиксации
         только что зафиксированные файлы и директории будут иметь более новую
@@ -1327,7 +1328,7 @@
         contained in a subdirectory, or perhaps you'd like to examine
         a number of previous versions of a file in the context of the
         latest tree.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Допустим, что вы имеете комплексный проект, вы можете обнаружить,
         что иногда выгодно принудительно <quote>возвращать</quote> части
         вашей рабочей копии к более ранним правкам; вы научитесь этому в
@@ -1339,7 +1340,7 @@
       <!-- @ENGLISH {{{
       <para>However you make use of mixed-revisions in your working
         copy, there are limitations to this flexibility.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Какими бы небыли причины использования смешанных правок в рабочей
         копии, у этой возможности существуют ограничения.</para>
 
@@ -1349,7 +1350,7 @@
         the item exists in the repository, your attempt to delete will
         be rejected, to prevent you from accidentally
         destroying changes you've not yet seen.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Во-первых, вы не можете отправить в хранилище изменения файла
         или директории, которые не соответствуют текущему состоянию
         хранилища и приведут к потере информации. Если хранилище содержит
@@ -1364,7 +1365,7 @@
         and properties, and thus committing a property change to an
         out-of-date directory may destroy properties you've not yet
         seen.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Во-вторых, вы не можете отправить в хранилище измененные
         метаданные директории, если она не находится полностью в актуальном
         состоянии. С присоединением <quote>свойств</quote> к элементам вы
@@ -1383,13 +1384,13 @@
   <sect1 id="svn.basic.summary">
     <!-- @ENGLISH {{{
     <title>Summary</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Подводя итоги</title>
 
     <!-- @ENGLISH {{{
     <para>We've covered a number of fundamental Subversion concepts in
       this chapter:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>В этой главе мы рассмотрели ряд фундаментальных вещей о
       Subversion:</para>
 
@@ -1399,7 +1400,7 @@
         <para>We've introduced the notions of the central repository,
           the client working copy, and the array of repository
           revision trees.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Мы ввели такие понятия, как центральное хранилище, рабочая
           копия клиента и массив правок хранилища.</para>
       </listitem>
@@ -1410,7 +1411,7 @@
           can use Subversion to publish and receive changes from one
           another, using the <quote>copy-modify-merge</quote>
           model.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Мы рассмотрели на нескольких простых примерах, как при помощи
           Subversion два со-разработчика могут публиковать и получать
           изменения друг друга, используя модель
@@ -1421,7 +1422,7 @@
         <!-- @ENGLISH {{{
         <para>We've talked a bit about the way Subversion tracks and
           manages information in a working copy.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Мы немного поговорили о том, как Subversion отслеживает и
           управляет информацией в рабочей копии.</para>
       </listitem>
@@ -1433,7 +1434,7 @@
       works in the most general sense.  Armed with this knowledge, you
       should now be ready to jump into the next chapter, which is a
       detailed tour of Subversion's commands and features.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>На данный момент у вас должно быть хорошее представление о том, как
       вообще работает Subversion. Теперь, вооруженные этими знаниями, вы
       готовы перейти к следующей главе, которая представляет собой подробный

Modified: trunk/src/ru/book/ch03.xml
==============================================================================
--- trunk/src/ru/book/ch03.xml	(original)
+++ trunk/src/ru/book/ch03.xml	Sat Jul 23 08:39:53 2005
@@ -3,8 +3,11 @@
 
   <!-- @ENGLISH {{{
   <title>Guided Tour</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Экскурсия по Subversion</title>
+  <chapterinfo>
+    <edition>1530</edition>
+  </chapterinfo>
   <!-- See also svn.preface.organization -->
 
   <simplesect>
@@ -18,7 +21,7 @@
       changes. You'll also see how to bring changes made by others
       into your working copy, examine them, and work through any
       conflicts that might arise.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Теперь перейдем к более тесному использованию Subversion.
       Ко времени когда вы достигнете конца этой главы, вы сможете
       выполнить практически все задачи, возникающие при использовании
@@ -36,7 +39,7 @@
       <xref linkend="svn.basic"/> and are familiar with the general
       model of Subversion.  For a complete reference of all commands,
       see <xref linkend="svn.ref"/>.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Обратите внимание на то, что эта глава не ставит цели быть
       всеобъемлющим списком всех команд Subversion — скорее это
       описательное введение в наиболее вероятные задачи с которыми вы можете
@@ -53,7 +56,7 @@
   <sect1 id="svn.tour.help">
     <!-- @ENGLISH {{{
     <title>Help!</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Читайте справку!</title>
 
     <!-- @ENGLISH {{{
@@ -63,7 +66,7 @@
       self-documenting—at any time, a quick <command>svn help
       <subcommand></command> will describe the syntax, switches,
       and behavior of the <command>subcommand</command>.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Перед тем как продолжить, приведем самую главную из всех команду
       при использовании Subversion: <command>svn help</command>.
       Клиент для командной строки в Subversion является самодокуметируемым -
@@ -79,7 +82,7 @@
   <sect1 id="svn.tour.import">
     <!-- @ENGLISH {{{
     <title>Import</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Импорт</title>
 
     <!-- @ENGLISH {{{
@@ -89,7 +92,7 @@
       server, it's not something that happens very often.  For a
       detailed description of import, see <xref
       linkend="svn.tour.other.import"/> later in this chapter.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Для импортированния нового проекта в Subversion-хранилище
       вы используете <command>svn import</command>. В то время как
       вероятно, это первое, что вы делаете при настройке Subversion-сервера
@@ -104,7 +107,7 @@
   <sect1 id="svn.tour.revs">
     <!-- @ENGLISH {{{
     <title>Revisions: Numbers, Keywords, and Dates, Oh My!</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Правки: Номера, Ключевые слова и Даты, Oh My!</title>
 
     <!-- @ENGLISH {{{
@@ -114,7 +117,7 @@
       <quote>snapshot</quote> of the repository at a particular moment
       in time.  As you continue to commit and grow your repository,
       you need a mechanism for identifying these snapshots.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Перед тем как продолжить, вам нужно немного узнать о том, как
       идентифицировать отдельную правку в хранилище. Как вы узнали в
       <xref linkend="svn.basic.in-action.revs"/> правка представляет собой
@@ -130,7 +133,7 @@
       (<command>svn –-revision REV1:REV2</command>).  And Subversion
       lets you refer to these revisions by number, keyword, or
       date.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Для указания этих правок используется ключ
       <option>--revision</option> (<option>-r</option>) плюс нужная
       правка либо можно указать диапазон разделяя две правки двоеточием
@@ -143,7 +146,7 @@
     <sect2 id="svn.tour.revs.numbers">
       <!-- @ENGLISH {{{
       <title>Revision Numbers</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Номера правок</title>
 
       <!-- @ENGLISH {{{
@@ -152,7 +155,7 @@
         revision number by one.  After your commit completes, the
         Subversion client informs you of the new revision
         number:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Когда вы создаете новое хранилище Subversion, свою жизнь оно
         начинает с правки ноль и каждая последующая фиксация увеличивает
         номер правки на единицу. После завершения фиксации, Subversion
@@ -170,7 +173,7 @@
         revision (we'll see how and why we might want to do that later
         in this chapter), you can refer to it as
         <quote>3</quote>.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>В будущем, в любой момент если вам нужно будет сослаться
         на эту правку (как и почему может возникнуть такая необходимость
         будет видна дальше по тексту) вы можете сослаться на нее как на
@@ -183,7 +186,7 @@
     <sect2 id="svn.tour.revs.keywords">
       <!-- @ENGLISH {{{
       <title>Revision Keywords</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Ключевые слова правок</title>
 
       <!-- @ENGLISH {{{
@@ -192,7 +195,7 @@
         can be used instead of integer arguments to the
         <option>–-revision</option> switch, and are resolved into
         specific revision numbers by Subversion:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Subversion клиент понимает определенное количество
         <firstterm>ключевых слов правок</firstterm>. Эти ключевые слова
         моогут буть использованы в место цифровых аргументов в параметре
@@ -213,7 +216,7 @@
           copy</firstterm> or <firstterm>text-base</firstterm> version
           of your file, and it's always an exact byte-for-byte copy of
           the file as it exists in the repository.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Каждая директория рабочей копии содержит административную
           поддиректорию <filename>.svn</filename>. Для каждого файла в
           директории, Subversion сохраняет копию этого файла в
@@ -235,7 +238,7 @@
           <listitem>
             <!-- @ENGLISH {{{
             <para>The latest revision in the repository.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Последняя правка хранилища</para>
           </listitem>
         </varlistentry>
@@ -246,7 +249,7 @@
             <!-- @ENGLISH {{{
             <para>The <quote>pristine</quote> revision of an item in a
               working copy.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para><quote>Исходная</quote> правка элемента в рабочей
               копии.</para>
           </listitem>
@@ -258,7 +261,7 @@
             <!-- @ENGLISH {{{
             <para>The last revision in which an item changed before (or
               at) <literal>BASE</literal>.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Последняя правка в которой элемент изменялся в диапазоне до
               (или включая) <literal>BASE</literal>.</para>
           </listitem>
@@ -271,7 +274,7 @@
             <para>The revision just <emphasis>before</emphasis> the last
               revision in which an item changed.  (Technically,
               <literal>COMMITTED</literal> - 1.)</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Ревизия, <emphasis>предшествующая</emphasis> последней
               ревизии, в которой элемент менялся. (Технически, <literal>
               COMMITTED</literal> - 1.)</para>
@@ -285,7 +288,7 @@
         <para><literal>PREV</literal>, <literal>BASE</literal>, and
           <literal>COMMITTED</literal> can be used to refer to local
           paths, but not to URLs.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para><literal>PREV</literal>, <literal>BASE</literal> и
           <literal>COMMITTED</literal> могут использоваться при обращении по
           локальным путям, но не по URL.</para>
@@ -295,7 +298,7 @@
       <para>Here are some examples of revision keywords in action.
         Don't worry if the commands don't make sense yet; we'll be
         explaining these commands as we go through the chapter:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Вот несколько примеров использования ключевых слов правок.
         Не волнуйтесь, если смысл команд пока не понятен; по мере дальнейшего
         продвижения мы объясним эти команды:</para>
@@ -304,20 +307,20 @@
 $ svn diff --revision PREV:COMMITTED foo.c
 <!-- @ENGLISH {{{
 # shows the last change committed to foo.c
-@ ENGLISH }}} -->
+ at ENGLISH }}} -->
 # показать последнее изменение зафиксированное для foo.c
 
 $ svn log --revision HEAD
 <!-- @ENGLISH {{{
 # shows log message for the latest repository commit
-@ ENGLISH }}} -->
+ at ENGLISH }}} -->
 # показать лог для последней фиксации хранилища
 
 $ svn diff --revision HEAD
 <!-- @ENGLISH {{{
 # compares your working file (with local mods) to the latest version
 # in the repository.
-@ ENGLISH }}} -->
+ at ENGLISH }}} -->
 # сравнение вашего рабочего файла (с учетом локальных изменений)
 # с последней правкой в хранилище
 
@@ -325,21 +328,21 @@
 <!-- @ENGLISH {{{
 # compares your <quote>pristine</quote> foo.c (no local mods) with the
 # latest version in the repository
-@ ENGLISH }}} -->
+ at ENGLISH }}} -->
 # сравнение вашего <quote>исходного</quote> foo.c (без учета локальных
 # изменений) с последней версией в хранилище
 
 $ svn log --revision BASE:HEAD
 <!-- @ENGLISH {{{
 # shows all commit logs since you last updated
-@ ENGLISH }}} -->
+ at ENGLISH }}} -->
 # показ всех логов фиксаций со времени вашего последнего обновления
 
 $ svn update --revision PREV foo.c
 <!-- @ENGLISH {{{
 # rewinds the last change on foo.c.
 # (foo.c's working revision is decreased.)
-@ ENGLISH }}} -->
+ at ENGLISH }}} -->
 # откат последних изменений в foo.c.
 # (рабочая ревизия foo.c понижается.)
 </screen>
@@ -349,7 +352,7 @@
         helpful) operations without having to look up specific
         revision numbers or remember the exact revision of your
         working copy.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Эти ключевые слова позволят вам выполнять многие часто
         используемые (и полезные) операции без необходимости обращаться к
         конкретным номерам ревизий или точно помнить ревизию своей рабочей
@@ -362,7 +365,7 @@
     <sect2 id="svn.tour.revs.dates">
       <!-- @ENGLISH {{{
       <title>Revision Dates</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Даты правок</title>
 
       <!-- @ENGLISH {{{
@@ -371,7 +374,7 @@
         inside curly braces <quote>{}</quote>.  You can even access
         a range of changes in the repository using both dates and
         revisions together!</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Везде, где вы указываете номер правки или ключевое слово,
         вы так же можете использать и дату, указав ее в фигурных скобках
         <quote>{}</quote>. Вы даже можете получить доступ к диапазону
@@ -382,7 +385,7 @@
       <para>Here are examples of the date formats that Subversion
         accepts.  Remember to use quotes around any date that contains
         spaces.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Вот примеры форматов, используемых для указания даты,
         которые принимает Subversion. Не забывайте использовать кавычки
         при написании даты содержащей пробелы.</para>
@@ -406,7 +409,7 @@
       <para>When you specify a date as a revision, Subversion finds
         the most recent revision of the repository as of that
         date:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Когда вы указываете в качестве правки дату, Subversion
         найдет правку наиболее соответствующую запрошенной дате:</para>
 
@@ -420,7 +423,7 @@
       <sidebar>
         <!-- @ENGLISH {{{
         <title>Is Subversion a Day Early?</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Is Subversion a Day Early?</title>
 
         <!-- @ENGLISH {{{
@@ -436,7 +439,7 @@
           <literal>2002-11-27</literal>, Subversion assumes a time of
           00:00:00, so looking for the most recent revision won't
           return anything on the day of the 27th.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Указав при обращении к правке только дату, без указания
           времени (например, <literal>2002-11-27</literal>), наверное,
           вы подумаете, что Subversion выдаст вам последнюю правку за 27
@@ -453,7 +456,7 @@
           either specify the 27th with the time (<literal>{"2002-11-27
           23:59"}</literal>), or just specify the next day
           (<literal>{2002-11-28}</literal>).</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Если вам необходимо учесть при поиске 27 число вы можете либо
           указать 27 число с временной меткой (<literal>{"2002-11-27
           23:59"}</literal>) либо просто использовать в запросе следующий
@@ -464,7 +467,7 @@
       <!-- @ENGLISH {{{
       <para>You can also use a range of dates.  Subversion will find
         all revisions between both dates, inclusive:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Кроме того, вы можете использовать диапазоны дат. Subversion
         найдет все правки между обеими датами включительно:</para>
 
@@ -475,7 +478,7 @@
 
       <!-- @ENGLISH {{{
       <para>As we pointed out, you can also mix dates and revisions:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Как мы уже говорили, вы можете использовать даты и номера
         ревизий одновременно:</para>
 
@@ -492,7 +495,7 @@
         complete falsifications of true chronology, or even removed
         altogether.  This will wreak havoc on the internal
         date-to-revision conversion that Subversion performs.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Пользователи должны осознавать тонкость, которая может стать
         камнем преткновения при работе с Subversion. Так как временная метка
         правки сохраняется как свойство правки — как не отслеживаемое,
@@ -511,7 +514,7 @@
   <sect1 id="svn.tour.initial">
     <!-- @ENGLISH {{{
     <title>Initial Checkout</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Создание рабочей копии</title>
 
     <!-- @ENGLISH {{{
@@ -521,7 +524,7 @@
       local machine.  This copy contains the <literal>HEAD</literal>
       (latest revision) of the Subversion repository that you specify
       on the command line:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Как правило использование хранилища Subversion начинается с
       <firstterm>создания рабочей копии</firstterm> вашего проекта.
       При создании рабочей копии на вашей локальной машине создается копия
@@ -543,7 +546,7 @@
     <sidebar>
       <!-- @ENGLISH {{{
       <title>Repository Layout</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Структура хранилища</title>
 
       <!-- @ENGLISH {{{
@@ -551,7 +554,7 @@
         about in the above URL, it's part of the way we recommend
         you lay out your Subversion repository which we'll talk a lot
         more about in <xref linkend="svn.branchmerge"/>.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Если вас удивляет почему в приведенном выше URL встречается
         <literal>trunk</literal> — это часть рекомендуемой нами
         структуры хранилища Subversion, о ней мы поговорим более подробно в
@@ -564,7 +567,7 @@
       you can just as easily check out any deep subdirectory of a
       repository by specifying the subdirectory in the checkout
       URL:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Хотя в приведенном примере рабочая копия создается на
       основе корневой директории вы можете легко создать рабочую копию на
       основе поддиректории любой степени вложенности, указав в URL при
@@ -590,7 +593,7 @@
       directories on your system.  You can edit and change them, move
       them around, you can even delete the entire working copy and
       forget about it.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Так как Subversion использует модель
       <quote>копирование-изменение-слияние</quote> вместо модели
       <quote>блокирование-изменение-разблокирование</quote> (см.
@@ -611,7 +614,7 @@
           move</command> instead of the copy and move commands
           provided by your operating system.  We'll talk more about
           them later in this chapter.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Не смотря на то что рабочая копия выглядит <quote>как и любой
           другой набор файлов на вашей системе</quote> вы должны поставить в
           известность Subversion если вы будете что либо реорганизовывать в
@@ -626,7 +629,7 @@
     <para>Unless you're ready to commit a new file or directory, or
       changes to existing ones, there's no need to further notify the
       Subversion server that you've done anything.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Исключение составляют случаи когда вы готовы зафиксировать новый
       файл или директорию, или внести изменения в один из существующих, для
       этого не нужно дополнительно извещать Subversion-сервер о своих
@@ -635,7 +638,7 @@
     <sidebar>
       <!-- @ENGLISH {{{
       <title>What's with the <filename>.svn</filename> directory?</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>А что на счет директории <filename>.svn</filename>?</title>
 
       <!-- @ENGLISH {{{
@@ -646,7 +649,7 @@
         an important directory.  Whatever you do, don't delete or
         change anything in the administrative area!  Subversion
         depends on it to manage your working copy.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Каждая директория в рабочей копии содержит административную
         область, поддиректорию с названием <filename>.svn</filename>.
         Обычно, команды используемые для вывода листинга директории не
@@ -662,7 +665,7 @@
       URL of the repository as the only argument, you can also specify
       a directory after your repository URL.  This places your working
       copy in the new directory that you name.  For example:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Не смотря на то, что вы конечно можете создать рабочую копию
       указав только один аргумент в виде URL хранилища, вы можете
       после URL хранилища указать директорию. Тогда ваша рабочая копия
@@ -684,7 +687,7 @@
     <para>That will place your working copy in a directory named
       <literal>subv</literal> instead of a directory named
       <literal>trunk</literal> as we did previously.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Эта команда поместит рабочую копию в директорию с именем
       <literal>subv</literal>, вместо директории <literal>trunk</literal>
       как мы сделали раньше.</para>
@@ -697,7 +700,7 @@
   <sect1 id="svn.tour.cycle">
     <!-- @ENGLISH {{{
     <title>Basic Work Cycle</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Простейший рабочий цикл</title>
 
     <!-- @ENGLISH {{{
@@ -705,7 +708,7 @@
       a day-to-day basis, odds are that you will only use a few of them. In
       this section we'll run through the most common things that you might
       find yourself doing with Subversion in the course of a day's work.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Subversion имеет множество возможностей, опций и украшательств, но
       на постоянной основе используются только некоторые из них. В этом
       разделе мы пройдемся по наиболее часто выполняемым в течении рабочего
@@ -713,14 +716,14 @@
 
     <!-- @ENGLISH {{{
     <para>The typical work cycle looks like this:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Типичный рабочий цикл выглядит примерно так:</para>
 
     <itemizedlist>
       <listitem>
         <!-- @ENGLISH {{{
         <para>Update your working copy</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Обновление рабочей копии</para>
         <itemizedlist>
           <listitem>
@@ -733,7 +736,7 @@
       <listitem>
         <!-- @ENGLISH {{{
         <para>Make changes</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Внесение изменений</para>
         <itemizedlist>
           <listitem>
@@ -754,7 +757,7 @@
       <listitem>
         <!-- @ENGLISH {{{
         <para>Examine your changes</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Анализ изменений</para>
         <itemizedlist>
           <listitem>
@@ -772,7 +775,7 @@
       <listitem>
         <!-- @ENGLISH {{{
         <para>Merge others' changes into your working copy</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Объединение изменений выполненных другими с вашей рабочей
           копией</para>
         <itemizedlist>
@@ -788,7 +791,7 @@
       <listitem>
         <!-- @ENGLISH {{{
         <para>Commit your changes</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Фиксация изменений</para>
         <itemizedlist>
           <listitem>
@@ -802,7 +805,7 @@
     <sect2 id="svn.tour.cycle.update">
       <!-- @ENGLISH {{{
       <title>Update Your Working Copy</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Обновление рабочей копии</title>
 
       <!-- @ENGLISH {{{
@@ -811,7 +814,7 @@
         your last update by other developers on the project.  Use
         <command>svn update</command> to bring your working copy into
         sync with the latest revision in the repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>При командной работе над проектом обновление рабочей копии
         необходимо для получения любых изменений внесенных с момента
         вашего последнего обновления другими разработчиками проекта.
@@ -830,7 +833,7 @@
         both <filename>foo.c</filename> and <filename>bar.c</filename>
         since the last time you updated, and Subversion has updated
         your working copy to include those changes.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>В данном случае, кто-то другой зафиксировал изменения в файлах
         <filename>foo.c</filename> и <filename>bar.c</filename> после
         вашего последнего обновления, и Subversion обновила вашу рабочую копию
@@ -842,7 +845,7 @@
         copy, a letter code is displayed next to each item to let you
         know what actions Subversion performed to bring your working
         copy up-to-date:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Рассмотрим выводимую <command>svn update</command> информацию
         чуть подробнее. Когда сервер отправляет изменения в вашу рабочую копию
         для каждого элемента выводится буквенный код, определяющий, какое
@@ -858,7 +861,7 @@
             <para>File <filename>foo</filename> was
               <computeroutput>U</computeroutput>pdated (received changes
               from the server).</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл <filename>foo</filename> был
               <computeroutput>U</computeroutput>pdated — обновлен
               (получил изменения с сервера).</para>
@@ -872,7 +875,7 @@
             <para>File or directory <filename>foo</filename> was
               <computeroutput>A</computeroutput>dded to your working
               copy.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл или директория <filename>foo</filename> были
               <computeroutput>A</computeroutput>dded — добавлены в
               рабочую копию.</para>
@@ -886,7 +889,7 @@
             <para>File or directory <filename>foo</filename> was
               <computeroutput>D</computeroutput>eleted from your working
               copy.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл или директория <filename>foo</filename> были
               <computeroutput>D</computeroutput>eleted — удалены
               из рабочей копии.</para>
@@ -903,7 +906,7 @@
               new item with the same name was added.  While they may have
               the same name, the repository considers them to be distinct
               objects with distinct histories.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл или директория <filename>foo</filename> была
               <computeroutput>R</computeroutput>eplaced — заменена
               в рабочей копии; это значит, что <filename>foo</filename>
@@ -925,7 +928,7 @@
               modifications, so Subversion has successfully
               mer<computeroutput>G</computeroutput>ed the repository's
               changes into the file without a problem.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл <filename>foo</filename> получил новые изменения
               из хранилища, однако ваша локальная копия содержит ваши
               изменения. Либо изменения не пересекаются либо они точно такие
@@ -945,7 +948,7 @@
               your own changes to the file.  No need to panic, though.
               This overlap needs to be resolved by a human (you); we
               discuss this situation later in this chapter.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Файл <filename>foo</filename> получил от сервера
               <computeroutput>C</computeroutput>onflicting —
               конфликтующие изменения. Изменения с сервера пересекаются с
@@ -963,7 +966,7 @@
     <sect2 id="svn.tour.cycle.edit">
       <!-- @ENGLISH {{{
       <title>Make Changes to Your Working Copy</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Внесение изменений в рабочую копию</title>
 
       <!-- @ENGLISH {{{
@@ -977,7 +980,7 @@
         editing files that are already in Subversion, you may not need
         to use any of these commands until you commit.  Changes you can
         make to your working copy:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Теперю вы можете вносить изменения в рабочую копию. Самый
         подходящий момент внести нужные изменения (или набор изменений),
         например, добавление новой возможности, исправление ошибки и т. д.
@@ -993,7 +996,7 @@
         <varlistentry>
           <!-- @ENGLISH {{{
           <term>File changes</term>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <term>Изменения файлов</term>
           <listitem>
             <!-- @ENGLISH {{{
@@ -1002,7 +1005,7 @@
               just make your changes.  Subversion will be able to
               automatically detect which files have been
               changed.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Это самый простой вид изменений. Вам не нужно сообщать
               Subversion о своем намерении изменить файл; просто берите
               и вносите изменения. Subversion сможет автоматически
@@ -1013,7 +1016,7 @@
         <varlistentry>
           <!-- @ENGLISH {{{
           <term>Tree changes</term>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <term>Изменения в структуре</term>
           <listitem>
             <!-- @ENGLISH {{{
@@ -1023,7 +1026,7 @@
               immediately in your working copy, no additions or
               removals will happen in the repository until you commit
               them.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Вы можете попросить Subversion <quote>отметить</quote>
               файлы и директории для удаления, добавления, копирования или
               перемещения. Не смотря на то, что эти изменения сразу же
@@ -1040,7 +1043,7 @@
         normally use.  Subversion handles binary files just as easily
         as it handles text files—and just as efficiently
         too.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Для внесения изменений в файлы используете свой текстовый
         редактор, текстовый процессор, графическую программу или любой
         другой инструмент который вы обычно используете. Subversion
@@ -1052,7 +1055,7 @@
         that you'll use most often to make tree changes (we'll cover
         <command>svn import</command> and <command>svn mkdir</command>
         later).</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Вот обзор четырех подкоманд Subversion которые вы будете
         использовать наиболее часто при внесении изменений в структуру
         (команды <command>svn import</command> и <command>svn
@@ -1068,7 +1071,7 @@
           to change the structure of your working copy, and use the
           <command>svn add</command> command to place new files and
           directories under version control.</para> </warning>
-       @ ENGLISH }}} -->
+       @ENGLISH }}} -->
        <warning>
          <para>Не смотря на то, что файлы вы можете редактировать
            как угодно, не следует менять структуру рабочей копии
@@ -1096,7 +1099,7 @@
               <filename>foo</filename> itself, pass the
               <option>–-non-recursive</option> (<option>-N</option>)
               switch.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Запланировать файл, директорию или символьную ссылку
               <filename>foo</filename> для добавления в хранилище.
               При следующей фиксации, <filename>foo</filename> станет
@@ -1129,7 +1132,7 @@
               back anything you delete by checking out (or updating
               your working copy) a revision earlier than the one in
               which you deleted it.</para></footnote></para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Запланировать удаление из хранилища файла, директории
               или символьной ссылки <filename>foo</filename>. Если
               <filename>foo</filename> является файлом или ссылкой,
@@ -1158,7 +1161,7 @@
               recorded (as having originally come from
               <filename>foo</filename>).  <command>svn copy</command>
               does not create intermediate directories.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Создать новый элемент <filename>bar</filename> как
               копию <filename>foo</filename>. <filename>bar</filename>
               будет автоматически запланирован для добавления.
@@ -1181,7 +1184,7 @@
               <filename>foo</filename> is scheduled for removal.
               <command>svn move</command> does not create intermediate
               directories.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Эта команда полностью аналогична выполнению
               <command>svn copy foo bar; svn delete foo</command>.
               По-этому, <filename>bar</filename> будет запланирован для
@@ -1197,7 +1200,7 @@
       <sidebar>
         <!-- @ENGLISH {{{
         <title>Changing the Repository Without a Working Copy</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Изменение хранилища без участия рабочей копии</title>
 
         <!-- ### pll - Fri 07 Feb 2003 12:55:07                            -->
@@ -1220,7 +1223,7 @@
           of <command>svn mkdir</command>, <command>svn
           copy</command>, <command>svn move</command>, and
           <command>svn delete</command> can work with URLs.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Ранее в этой главе мы сказали, что вам необходимо
           зафиксировать любые изменения для того, что бы они отразились в
           хранилище. Это не совсем так — <emphasis>существуют</emphasis>
@@ -1239,7 +1242,7 @@
           operate on URLs don't have this luxury, so when you operate
           directly on a URL, any of the above actions represent an
           immediate commit.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>URL операции ведут себя подобным образом из-за того, что
           команды использующие рабочую копию могут использовать ее
           как своего рода <quote>сартовую площадку</quote> для
@@ -1257,7 +1260,7 @@
     <sect2 id="svn.tour.cycle.examine">
       <!-- @ENGLISH {{{
       <title>Examine Your Changes</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Анализ изменений</title>
 
       <!-- @ENGLISH {{{
@@ -1276,7 +1279,7 @@
         two commands to find out what files have changed in your
         working copy, and then perhaps the third to revert some (or
         all) of those changes.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>После внесения изменений вам необходимо зафиксировать их в
         хранилище, но перед тем, как вы это сделаете, не плохо бы посмотреть,
         что, собственно, вы изменили. Проанализировав перед фиксацией свои
@@ -1307,7 +1310,7 @@
         Because of this, Subversion can quickly show you how your
         working files have changed, or even allow you to undo your
         changes without contacting the repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Subversion была оптимизирована для решения такой задачи
         и способна выполнять множество действий без обращения к
         хранилищу. В частности, в <filename>.svn</filename>-области
@@ -1323,7 +1326,7 @@
         <!-- @ENGLISH {{{
         <para>You'll probably use the <command>svn status</command>
           command more than any other Subversion command.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Наверное, команду <command>svn status</command>
           вы будете использовать чаще чем любую другую команду
           Subversion.</para>
@@ -1331,7 +1334,7 @@
         <sidebar>
           <!-- @ENGLISH {{{
           <title>CVS Users: Hold That Update!</title>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <title>CVS Users: Hold That Update!</title>
 
           <!-- @ENGLISH {{{
@@ -1342,7 +1345,7 @@
             your working copy—without accessing the repository
             or potentially incorporating new changes published by
             other users.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Вероятно, для того что бы увидеть какие изменения вы сделали
             в рабочей копии,  вы использовали <command>cvs update</command>.
             <command>svn status</command> даст вам всю нужную информацию
@@ -1357,7 +1360,7 @@
             updated your working copy.  You'll have to break the habit
             of using the <command>update</command> command to see what
             local modifications you've made.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para><command>Обновление</command> в Subversion делает именно
             это — обновляет вашу рабочую копию беря все изменения
             зафиксированные в хранилище с момента последнего обновления рабочей
@@ -1375,7 +1378,7 @@
           status</command> can return.  (Note that the text following
           <literal>#</literal> is not
           actually printed by <command>svn status</command>.)</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>При запуске <command>svn status</command> без параметров в
           корневой директории рабочей копии, будут найдены все сделанные вами
           файловые и структурные изменения. Ниже приведены примеры различных
@@ -1408,7 +1411,7 @@
      T  fish.jpg            # file is locked locally, but lock has been stolen
 
 </screen>
-@ ENGLISH }}} -->
+ at ENGLISH }}} -->
         <screen>
   L     some_dir            # svn оставила блокировку в .svn-области для some_dir
 M       bar.c               # содержимое bar.c имеет локальные изменения
@@ -1439,7 +1442,7 @@
           whitespace characters, followed by a file or directory name.
           The first column tells the status of a file or directory
           and/or its contents.  The codes printed here are:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para><command>svn status</command>
           печатает пять колонок букв, затем несколько пробелов,
           затем имя файла или директории. Первая колонка показывает
@@ -1456,7 +1459,7 @@
               <para>The file, directory, or symbolic link
                 <filename>item</filename> has been scheduled for
                 addition into the repository.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл, директория или символьная ссылка
                 <filename>item</filename> была запланирована для
                 добавления в хранилище.</para>
@@ -1473,7 +1476,7 @@
                 that you have in your working copy.  You must resolve
                 this conflict before committing your changes to the
                 repository.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл <filename>item</filename> находится в
                 состоянии конфликта. Это значит, что изменения,
                 полученные от сервера при обновлении пересекаются
@@ -1490,7 +1493,7 @@
               <para>The file, directory, or symbolic link
                 <filename>item</filename> has been scheduled for
                 deletion from the repository.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл, директория или символьная ссылка
                 <filename>item</filename> запланированы
                 для удаления из хранилища.</para>
@@ -1503,7 +1506,7 @@
               <!-- @ENGLISH {{{
               <para>The contents of the file <filename>item</filename>
                 have been modified.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Содержимое файла <filename>item</filename> было
                 изменено.</para>
             </listitem>
@@ -1519,7 +1522,7 @@
                 This means that the object is first deleted, then
                 another object of the same name is added, all within a
                 single revision.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл, директория или символьная ссылка запланированы
                 для замены <filename>item</filename> в хранилище.
                 Это значит, что сначала объект был удален, а затем
@@ -1537,7 +1540,7 @@
                 definition.  To find out more about externals
                 definitions, see <xref
                 linkend="svn.advanced.externals"/>.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Директория <filename>item</filename> не версионирована,
                 но относится к внешним зависимостям Subversion. Более подробно
                 о внешних зависимостях см. в <xref
@@ -1558,7 +1561,7 @@
                 <literal>svn:ignore</literal> property on the parent
                 directory.  For more information on ignored files, see
                 <xref linkend="svn.advanced.props.special.ignore" />.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл, директория или символьная ссылка не находится под
                 контролем версий. Вы можете убрать знаки вопроса либо
                 воспользовавшись параметром <option>--quiet</option>
@@ -1585,7 +1588,7 @@
                 refetch the file or directory from the repository, or
                 <command>svn revert file</command> will restore a
                 missing file.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл, директория или символьная ссылка
                 <filename>item</filename> находится под контролем версий
                 но отсутствует или повреждена как то по другому. Элемент
@@ -1611,7 +1614,7 @@
                 the file and created a directory in its place, without
                 using the <command>svn delete</command> or
                 <command>svn add</command> command.</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл, директория или символьная ссылка
                 <filename>item</filename> в хранилище является объектом
                 одного типа, а то, что на самом деле находится в рабочей
@@ -1638,7 +1641,7 @@
                 <option>–-no-ignore</option> option to <command>svn
                 status</command>—otherwise the file would be
                 ignored and not listed at all!</para>
-              @ ENGLISH }}} -->
+              @ENGLISH }}} -->
               <para>Файл, директория или символьная ссылка
                 <filename>item</filename> находится под контролем
                 версий и Subversion настроена на его игнорирование
@@ -1662,7 +1665,7 @@
           properties).  If an <computeroutput>M</computeroutput>
           appears in the second column, then the properties have been
           modified, otherwise a whitespace will be printed.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Вторая колонка показывает статус свойств файлов и
           директорий (больше о свойствах см. в <xref
           linkend="svn.advanced.props"/>). Если во второй колонке
@@ -1681,7 +1684,7 @@
           presumably Subversion was interrupted and the lock needs to
           be cleaned up by running <command>svn cleanup</command>
           (more about that later in this chapter).</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Третья колонка может содержать только пробел или
           <computeroutput>L</computeroutput>, это значит, что у директории
           заблокирована рабочая область <filename>.svn</filename>.
@@ -1711,7 +1714,7 @@
           which means this file will automatically exist in the copy.
           Then the local modifications will be uploaded into the
           copy.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Четвертая колонка может содержать только пробел или
           <computeroutput>+</computeroutput>, это означает, что
           элемент был запланирован для <quote>добавления с историей</quote>.
@@ -1734,7 +1737,7 @@
           file or directory has been switched from the path of the
           rest of the working copy (using <command>svn
           switch</command>) to a branch.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Пятая колонка может содержать только пробел или
           <computeroutput>S</computeroutput>. Это символизирует
           то, что файл или директория были переключены с пути остальной
@@ -1745,7 +1748,7 @@
         <para>The sixth column shows information about locks, which is
           further explained in <xref
           linkend="svn.advanced.locking"/>.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Шестая колонка показывает информацию о блокировке,
           которая подробно объяснена в <xref
           linkend="svn.advanced.locking"/>.</para>
@@ -1754,7 +1757,7 @@
         <para>If you pass a specific path to <command>svn
           status</command>, it gives you information about that item
           alone:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Если вы укажите конкретный путь для <command>svn
           status</command>, вы получите информацию только об этом
           элементе:</para>
@@ -1770,7 +1773,7 @@
           which will show you the status of <emphasis>every</emphasis>
           item in your working copy, even if it has not been
           changed:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Кроме того, <command>svn status</command> имеет
           параметр <option>--verbose</option> (<option>-v</option>),
           который покажет вам статус <emphasis>каждого</emphasis>
@@ -1795,7 +1798,7 @@
           the same, but the second column shows the working-revision of
           the item.  The third and fourth columns show the revision in
           which the item last changed, and who changed it.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Это <quote>длинная форма</quote> представления вывода
           <command>svn status</command>. Первая колонка та-же самая,
           а вот вторая колонка показывает рабочую правку элемента.
@@ -1811,7 +1814,7 @@
           (<option>-u</option>) switch, which contacts the repository
           and adds information about things that are
           out-of-date:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Ни один из указаных выше вызовов <command>svn
           status</command> не обращается к хранилищу, они работают
           только локально, сравнивая метаданные директории
@@ -1839,7 +1842,7 @@
           server changes on <filename>README</filename> before you
           commit, or the repository will reject your commit for being
           out-of-date.  (More on this subject later.)</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Обратите внимание на две звездочки: если сейчас вы
           запустите <command>svn update</command> вы получите изменения
           для <filename>README</filename> и <filename>trout.c</filename>.
@@ -1871,7 +1874,7 @@
           might run <command>svn diff –-diff-cmd /usr/bin/diff
           –-extensions '-bc' foo.c</command>.</para>
           </footnote></para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Еще один механизм для анализа изменений, это команда
           <command>svn diff</command>. Увидеть <emphasis>как
           именно</emphasis> вы изменили элементы можно запустив
@@ -1938,7 +1941,7 @@
           addition are displayed as all added-text, and files
           scheduled for deletion are displayed as all deleted
           text.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Команда <command>svn diff</command> формирует
           свой вывод сравнивая ваши рабочие файлы с кешированными
           <quote>нетронутыми</quote> копиями из <filename>.svn</filename>
@@ -1955,7 +1958,7 @@
           <command>patch</command> program, so you can generate
           <quote>patches</quote> by redirecting the diff output to a
           file:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Вывод происходит в <firstterm>объединенном формате представления
           различий</firstterm>. При этом удаленные строки предваряются
           <literal>-</literal>, а добавленные строки предваряются
@@ -1972,7 +1975,7 @@
         <!-- @ENGLISH {{{
         <para>You could, for example, email the patch file to another
           developer for review or testing prior to commit.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Вы можете, например, отправить по электронной почте
           патч-файл другому разработчику для ознакомления или
           тестирования перед фиксацией.</para>
@@ -1987,7 +1990,7 @@
           that your changes to <filename>README</filename> are a
           mistake; perhaps you accidentally typed that text into the
           wrong file in your editor.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Теперь предположим, просмотрев вывод команды diff
           вы обнаружили, что изменения в <filename>README</filename>
           являются ошибочными; возможно, в своем редакторе, вы случайно
@@ -1996,7 +1999,7 @@
         <!-- @ENGLISH {{{
         <para>This is a perfect opportunity to use <command>svn
           revert</command>.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Это как раз возможность воспользоваться
           <command>svn revert</command>.</para>
 
@@ -2013,7 +2016,7 @@
           <emphasis>any</emphasis> scheduled operations—for
           example, you might decide that you don't want to add a new
           file after all:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Subversion возвращает файл в состояние, предществующее
           модификации, путем замены файла его кешированной
           <quote>первоначальной</quote> копией из
@@ -2048,7 +2051,7 @@
             has one very noticeable difference—it doesn't have
             to communicate with the repository to restore your
             file.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para><command>svn revert</command>
             <replaceable>ITEM</replaceable> будет иметь точно такой же эффект,
             как и удаление <replaceable>ITEM</replaceable> из вашей рабочей
@@ -2062,7 +2065,7 @@
         <!-- @ENGLISH {{{
         <para>Or perhaps you mistakenly removed a file from version
           control:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Или, допустим, вы ошибочно удалили файл из-под контроля
           версий:</para>
 
@@ -2085,7 +2088,7 @@
       <sidebar>
           <!-- @ENGLISH {{{
           <title>Look Ma! No Network!</title>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <title>Look Ma! No Network!</title>
 
         <!-- @ENGLISH {{{
@@ -2096,7 +2099,7 @@
           changes-in-progress when you are somewhere without a network
           connection, such as traveling on an airplane, riding a
           commuter train or hacking on the beach.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Все эти три команды (<command>svn
           status</command>, <command>svn diff</command> и
           <command>svn revert</command>) могут использоваться
@@ -2124,7 +2127,7 @@
           imagine the repercussions if you try to commit a one line
           change to a 400MB file and have to send the whole file to
           the server!</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Для этого Subversion использует отдельную для каждого
           версионированого файла кешированую в административной области
           <filename>.svn</filename> первоначальную версию. Это позволяет
@@ -2150,14 +2153,14 @@
     <sect2 id="svn.tour.cycle.resolve">
       <!-- @ENGLISH {{{
       <title>Resolve Conflicts (Merging Others' Changes)</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Решение конфликтов (при сливании чужих изменений)</title>
 
       <!-- @ENGLISH {{{
       <para>We've already seen how <command>svn status -u</command>
         can predict conflicts.  Suppose you run <command>svn
         update</command> and some interesting things occur:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Мы уже видели как <command>svn status -u</command>
         может предсказать конфликты. Предположим вы запустили
         <command>svn update</command> и произошло кое-что
@@ -2183,7 +2186,7 @@
         means that the file had local changes to begin with, but the
         changes coming from the repository didn't overlap with the local
         changes.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Коды <computeroutput>U</computeroutput> и
         <computeroutput>G</computeroutput> интереса не представляют;
         эти файлы без проблем поглотили изменения из хранилища.
@@ -2200,7 +2203,7 @@
         conflict.  This means that the changes from the server overlapped
         with your own, and now you have to manually choose between
         them.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>А вот отмеченые <computeroutput>C</computeroutput> имеют конфликт.
         Это значит, что изменения с сервера пересеклись с вашими личными и
         теперь вам вам нужно вручную сделать между ними выбор.</para>
@@ -2208,7 +2211,7 @@
       <!-- @ENGLISH {{{
       <para>Whenever a conflict occurs, three things typically occur
         to assist you in noticing and resolving that conflict:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Всякий раз когда возникает конфликт, для того, чтобы помочь
         вам заметить и решить этот конфликт, возникают как правило три
         вещи:</para>
@@ -2220,7 +2223,7 @@
           <para>Subversion prints a <computeroutput>C</computeroutput>
             during the update, and remembers that the file is in a
             state of conflict.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Subversion печатает <computeroutput>C</computeroutput>
             во время обновления и запоминает, что файл в состоянии
             конфликта.</para>
@@ -2237,7 +2240,7 @@
             <literal>svn:mime-type</literal> property to decide if a
             file is capable of contextual, line-based merging.  See
             <xref linkend="svn.advanced.props.special.mime-type"/> to learn more.)</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Если Subversion считает, что файл объединяемого типа
             она помещает <firstterm>маркеры конфликта</firstterm> —
             специальные текстовые строки которые отделяют
@@ -2253,7 +2256,7 @@
           <!-- @ENGLISH {{{
           <para>For every conflicted file, Subversion places up to
             three extra unversioned files in your working copy:</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Для каждого конфликтного файла Subversion добавляет в
             рабочую копию до трех неверсионированных дополнительных
             файлов:</para>
@@ -2272,7 +2275,7 @@
                   then the <filename>.mine</filename> file isn't
                   created, since it would be identical to the working
                   file.)</para>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <para>Это ваш файл в том виде в каком он был в
                   рабочей копии до обновления — без маркеров
                   конфликта. Этот файл сотержит в себе только ваши изменения
@@ -2292,7 +2295,7 @@
                   your working copy.  That is, the file that you
                   checked out before you made your latest
                   edits.</para>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <para>Это файл правки <literal>BASE</literal>, где
                   <literal>BASE</literal> - правка которая была до обновления
                   рабочей копии. То есть это файл который у вас был до
@@ -2309,7 +2312,7 @@
                   working copy.  This file corresponds to the
                   <literal>HEAD</literal> revision of the
                   repository.</para>
-                @ ENGLISH }}} -->
+                @ENGLISH }}} -->
                 <para>Это файл, который ваш Subversion-клиент
                   только что получил с сервера, когда вы обновили
                   рабочую копию. Этот файл соответствует правке
@@ -2324,7 +2327,7 @@
             of the file in your <filename>.svn</filename> directory
             and <literal>NEWREV</literal> is the revision number of
             the repository <literal>HEAD</literal>.</para>
-          @ ENGLISH }}} -->
+          @ENGLISH }}} -->
           <para>Здесь <literal>OLDREV</literal> - это номер правки файла
             в директории <filename>.svn</filename>, а
             <literal>NEWREV</literal> - это номер правки
@@ -2339,7 +2342,7 @@
         just changed the file in his working copy and checked it in.
         Sally updates her working copy before checking in and she gets
         a conflict:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Например, Салли внесла изменения в файл
         <filename>sandwich.txt</filename> из хранилища. Гарри
         одновременно изменил файл в своей рабочей копии и зафиксировал
@@ -2361,7 +2364,7 @@
       <para>At this point, Subversion will <emphasis>not</emphasis>
         allow you to commit the file <filename>sandwich.txt</filename>
         until the three temporary files are removed.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Теперь Subversion <emphasis>не</emphasis> позволит зафиксировать
         файл <filename>sandwich.txt</filename> пока не будут удалены три
         временных файла.</para>
@@ -2376,7 +2379,7 @@
       <!-- @ENGLISH {{{
       <para>If you get a conflict, you need to do one of three
         things:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Если вы получили конфликт, у вас есть три варианта:</para>
 
         <itemizedlist>
@@ -2386,7 +2389,7 @@
             <para>Merge the conflicted text <quote>by hand</quote> (by
               examining and editing the conflict markers within the
               file).</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Объединить конфликтующий текст <quote>вручную</quote>
               (путем анализа и редактирования маркеров конфликта в
               файле).</para>
@@ -2396,7 +2399,7 @@
             <!-- @ENGLISH {{{
             <para>Copy one of the temporary files on top of your
               working file.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Скопровать один из временных файлов поверх
               своего рабочего файла.</para>
           </listitem>
@@ -2405,7 +2408,7 @@
             <!-- @ENGLISH {{{
             <para>Run <command>svn revert <filename></command>
               to throw away all of your local changes.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Выполнить <command>svn revert <filename></command>
               для того, чтобы убрать все ваши локальные измения.</para>
           </listitem>
@@ -2421,7 +2424,7 @@
         files yourself, but would you really want to do that when
         Subversion can do it for you?  We didn't think so.</para>
         </footnote></para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>После того, как вы решили конфликт, вам нужно поставить в
         извесность Subversion, выполнив <command>svn resolved</command>.
         Это удаляет три временных файла и Subversion больше не считает,
@@ -2438,14 +2441,14 @@
       <sect3 id="svn.tour.cycle.resolve.byhand">
         <!-- @ENGLISH {{{
         <title>Merging Conflicts by Hand</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Объединение конфликтов вручную</title>
 
         <!-- @ENGLISH {{{
         <para>Merging conflicts by hand can be quite intimidating the
           first time you attempt it, but with a little practice, it
           can become as easy as falling off a bike.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Объединение конфликтов вручную может показаться пугающим,
           когда вы делаете это в первый раз, но немного попрактиковавшись
           это может стать таким же простым, как езда на велосипеде.</para>
@@ -2458,7 +2461,7 @@
           copy, you get a conflict and we're going to have to edit
           <filename>sandwich.txt</filename> to resolve the conflicts.
           First, let's take a look at the file:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Вот пример. По недоразумению, вы и ваш соразработчик Салли,
           оба одновременно редактируете файл
           <filename>sandwich.txt</filename>.  Салли зафиксировала свои
@@ -2494,7 +2497,7 @@
           commit.  The text between the first two sets of markers is
           composed of the changes you made in the conflicting
           area:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Строки знаков меньше чем, знаков равенства и заков
           больше чем являются маркерами конфликта. Перед следующей
           фиксацией, вам необходимо будет убедиться, что они удалены из
@@ -2512,7 +2515,7 @@
         <!-- @ENGLISH {{{
         <para>The text between the second and third sets of conflict
           markers is the text from Sally's commit:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Текст между вторым и третьим маркером конфликта —
           это текст из фиксации Салли:</para>
 
@@ -2534,7 +2537,7 @@
           a rail.</para></footnote> Once you've agreed on the changes
           you will check in, edit your file and remove the conflict
           markers.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Скорее всего вы не захотите просто удалить маркеры конфликта
           и изменения Салли — она ужастно удивится, когда дойдет до
           сандвича и не увидит того, что ей нужнно. Так, что это тот случай
@@ -2561,7 +2564,7 @@
         <!-- @ENGLISH {{{
         <para>Now run <command>svn resolved</command>, and you're
           ready to commit your changes:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Теперь выполните <command>svn resolved</command> и вы
           готовы к фиксации изменений:</para>
 
@@ -2577,7 +2580,7 @@
           copy—including your file as it was before you updated.
           You can even use a third-party interactive merging tool to
           examine those three files.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Помните, если вы станете в тупик при редактировании
           конфликтующего файла, вы всегда можете обратиться к трем
           файлам, которые Subversion создает в рабочей копии —
@@ -2590,7 +2593,7 @@
       <sect3 id="svn.tour.cycle.resolve.copyover">
         <!-- @ENGLISH {{{
         <title>Copying a File Onto Your Working File</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Копирование файла поверх вашего рабочего файла</title>
 
         <!-- @ENGLISH {{{
@@ -2598,7 +2601,7 @@
           out your changes, you can merely copy one of the temporary
           files created by Subversion over the file in your working
           copy:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Если вы получили конфликт и решили отказаться от своих
           изменений, вы можете просто скопировать один из временных файлов
           созданых Subversion поверх файла в рабочей копии:</para>
@@ -2618,14 +2621,14 @@
       <sect3 id="svn.tour.cycle.resolve.revert">
         <!-- @ENGLISH {{{
         <title>Punting: Using <command>svn revert</command></title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Использование <command>svn revert</command></title>
 
         <!-- @ENGLISH {{{
         <para>If you get a conflict, and upon examination decide that
           you want to throw out your changes and start your edits
           again, just revert your changes:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Если вы получили конфликт и вместо анализирования решаете
           отбросить изменения и начать сначала, просто отмените ваши
           изменения:</para>
@@ -2640,7 +2643,7 @@
         <!-- @ENGLISH {{{
         <para>Note that when you revert a conflicted file, you don't
           have to run <command>svn resolved</command>.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Обратите внимание, что когда вы возвращаете файл к предыдущему
         состоянию, вам не нужно выполнять <command>svn
         resolved</command>.</para>
@@ -2656,7 +2659,7 @@
         fixed the conflict in your file—once the temporary files
         are removed, Subversion will let you commit the file even if
         it still contains conflict markers.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Теперь вы готовы к фиксации изменений. Обратите внимание на
         то, что <command>svn resolved</command>, в отличие от большинства
         команд с которыми мы имели дело в этой главе, требует аргумент.
@@ -2673,14 +2676,14 @@
     <sect2 id="svn.tour.cycle.commit">
       <!-- @ENGLISH {{{
       <title>Commit Your Changes</title>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Фиксация изменений</title>
 
       <!-- @ENGLISH {{{
       <para>Finally!  Your edits are finished, you've merged all
         changes from the server, and you're ready to commit your
         changes to the repository.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Наконец то! Ваши редактирования закончены, вы слили
         все изменения с сервера и вы готовы к тому, чтобы зафиксировать
         их в хранилище.</para>
@@ -2694,7 +2697,7 @@
         you may wish to supply it on the command line using the
         <option>-ﳢ-message</option> (or <option>-m</option>)
         option:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Команда <command>svn commit</command> отправляет все ваши
         изменения в хранилище. При фиксации изменений необходимо указать
         описывающие ваши изменения <firstterm>лог сообщение</firstterm>.
@@ -2715,7 +2718,7 @@
         work, you may want to tell Subversion to get the message from
         a file by passing the filename with the
         <option>-ﳢ-file</option> switch:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Однако, если вы составляли лог сообщение во время работы,
         можно указать Subversion взять лог сообщение из файла, передавая
         имя файла в параметре <option>--file</option>:</para>
@@ -2734,7 +2737,7 @@
         (see the <literal>editor-cmd</literal> section in
         <xref linkend="svn.advanced.confarea.opts.config"/>) for composing a log
         message.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Если вы не укажите ни опции <option>--message</option> ни
         опции <option>--file</option>, для составления лог сообщения
         Subversion автоматически запустит ваш любимый редактор (см.
@@ -2749,7 +2752,7 @@
           quit your editor without saving changes.  If you've already
           saved your commit message, simply delete the text and save
           again.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>Если в редактире набирая сообщение решите отменить фиксацию,
           вы можете просто выйти из редактора без сохранения изменений.
           Если вы уже сохранили сообщение, просто удалите текст и
@@ -2773,7 +2776,7 @@
         weren't looking.  If somebody <emphasis>has</emphasis> done
         that, the entire commit will fail with a message informing you
         that one or more of your files is out-of-date:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Хранилище, в целом, не знает и не заботится о смысле ваших
         изменений; оно только контролирует, что бы никто не изменил
         те же файлы что и вы. Если это все таки
@@ -2792,7 +2795,7 @@
       <para>At this point, you need to run <command>svn
         update</command>, deal with any merges or conflicts that
         result, and attempt your commit again.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Тепереь вам нужно выполнить <command>svn update</command>
         разобраться со всеми объединениями и конфликтами и попытаться
         выполнить фиксацию снова.</para>
@@ -2803,7 +2806,7 @@
         to manage your repository and working copy, but you can get by
         quite easily using only the commands that we've discussed so
         far in this chapter.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Мы рассмотрели простейший рабочий цикл при использовании
         Subversion. В Subversion существует много других возможностей
         которые вы можете применять для управления рабочей копией и
@@ -2820,7 +2823,7 @@
   <sect1 id="svn.tour.history">
     <!-- @ENGLISH {{{
     <title>Examining History</title>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Анализ истории</title>
 
     <!-- @ENGLISH {{{
@@ -2834,7 +2837,7 @@
       However, sometimes you just want to <emphasis>peer
       into</emphasis> the past instead of <emphasis>going
       into</emphasis> the past.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Как мы уже говорили, хранилище похоже на машину времени.
       Оно хранит запись о любом когда либо зафиксированом изменении
       и позваляет вам просмотреть его хронологию путем анализа
@@ -2849,7 +2852,7 @@
     <!-- @ENGLISH {{{
     <para>There are several commands that can provide you with
       historical data from the repository:</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Существует несколько команд которые могут обеспечить вас
       хронологической информацией из хранилища:</para>
 
@@ -2862,7 +2865,7 @@
             <para>Shows you broad information: log messages attached
               to revisions, and which paths changed in each
               revision.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Показывает вам развернутую информацию: лог сообщения
               присоединены к правкам и и изменениям в каждой правке.</para>
           </listitem>
@@ -2874,7 +2877,7 @@
             <!-- @ENGLISH {{{
             <para>Shows you the specific details of how a file changed
               over time.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Показывает конкретные детеали того, как файл изменился
               с течением времени.</para>
           </listitem>
@@ -2887,7 +2890,7 @@
             <para>This is used to retrieve any file as it existed in a
               particular revision number and display it on your
               screen.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Эта команда используется для получения отдельного файла
               в том виде, в каком он был в конкретной ревизии и вывода его
               на экран.</para>
@@ -2900,7 +2903,7 @@
             <!-- @ENGLISH {{{
             <para>Displays the files in a directory for any given
               revision.</para>
-            @ ENGLISH }}} -->
+            @ENGLISH }}} -->
             <para>Показывает файлы в директории для любой указаной
               правки.</para>
           </listitem>
@@ -2921,7 +2924,7 @@
         revision it changed, the time and date of that revision, and,
         if it was provided, the log message that accompanied the
         commit.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Для того, чтобы найти информацию о хронологии файла
         или директории воспользуйтесь командой <command>svn log</command>.
         <command>svn log</command> показывает информацию о том, кто изменял
@@ -2952,7 +2955,7 @@
         particular order, or just a single revision, pass the
         <option>-ﳢ-revision</option> (<option>-r</option>)
         switch:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Обратите внимание на то, что по умолчанию лог сообщения
         выводятся в <emphasis>обратном хронологическом порядке</emphasis>.
         Если вам нужно увидеть другой диапазон правок в заранее определенном
@@ -2970,7 +2973,7 @@
       <!-- @ENGLISH {{{
       <para>You can also examine the log history of a single file or
         directory.  For example:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Кроме того, можно проанализировать историю лог сообщений
         отдельного файла или директории. Например:</para>
 
@@ -2994,7 +2997,7 @@
         in the filesystem, so in verbose mode, <command>svn
         log</command> will include a list of changed paths in a
         revision in its output:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>В результате, будут показаны лог сообщения
         <emphasis>только</emphasis> для тех правок, в которых рабочий
         файл (или URL) изменялись.</para>
@@ -3029,7 +3032,7 @@
 
         <para>After working with Subversion for a bit, most users will
           come across something like this:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Почему <command>svn log</command> ничего не выводит?</title>
 
         <para>Поработав немного с Subversion, многие пользователи
@@ -3054,7 +3057,7 @@
           revision, try pointing <command>svn log</command> directly at
           the top-most URL of your repository, as in <command>svn log -r 2
           http://svn.collab.net/repos/svn</command>.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para>На первый взгляд это похоже на ошибку. Однако учтите, что
           так как правки привязаны к хранилищу, <command>svn log</command>
           использует путь из хранилища. Если путь просто не указан,
@@ -3086,7 +3089,7 @@
       <para>In fact, it turns out that there are
         <emphasis>three</emphasis> distinct uses of <command>svn
         diff</command>:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Ранее, мы уже познакомились с <command>svn diff</command>
         — эта команда показывает различия файла в объединенном формате
         представления различий; она использовалась, для того, что бы показать
@@ -3110,7 +3113,7 @@
         <listitem>
           <para>Compare repository to repository</para>
         </listitem>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <listitem>
           <para>Анализ локальных изменений</para>
         </listitem>
@@ -3133,7 +3136,7 @@
           no switches will compare your working files to the cached
           <quote>pristine</quote> copies in
           the <filename>.svn</filename> area:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Анализ локальных изменений</title>
 
         <para>Как мы уже знаем, запуск <command>svn diff</command> без
@@ -3167,7 +3170,7 @@
           (<option>-r</option>) number is passed, then your
           working copy is compared to the specified revision in the
           repository.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Сравнение рабочей копии с хранилищем</title>
 
         <para>Если в <option>--revision</option> (<option>-r</option>)
@@ -3200,7 +3203,7 @@
           passed via <option>-ﳢ-revision</option>
           (<option>-r</option>), then the two revisions are directly
           compared.</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Сравнение хранилища с хранилищем</title>
 
         <para>Если через <option>--revision</option> (<option>-r</option>)
@@ -3230,7 +3233,7 @@
           working copy.  This is especially useful if you wish to
           inspect changes in a file when you don't have a working copy
           on your local machine:</para>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <para><command>svn diff</command> можно использовать не только
           для сравнения файлов в рабочей копии, если вы укажите
           в качестве аргумента URL, то сможете анализировать различия между
@@ -3256,7 +3259,7 @@
       <para>If you want to examine an earlier version of a file and
         not necessarily the differences between two files, you can use
         <command>svn cat</command>:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Если вы хотите проанализировать ранние версии файла, а не
         различия между двумя файлами, можно воспользоваться
         <command>svn cat</command>:</para>
@@ -3273,7 +3276,7 @@
       <!-- @ENGLISH {{{
       <para>You can also redirect the output directly into a
         file:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Или вы можете перенаправить вывод прямо в файл:</para>
 
       <screen>
@@ -3298,7 +3301,7 @@
       <para>Sometimes it's easier to look at an older version of a
         file in its entirety as opposed to just the differences
         between it and another revision.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Вероятно, вам интересно почему мы не воспользовались
         <command>svn update --revision</command>, что бы обновить
         файл старой правкой. Есть несколько причин, почему нам
@@ -3327,7 +3330,7 @@
       <para>The <command>svn list</command> command shows you what
         files are in a repository directory without actually
         downloading the files to your local machine:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Комманда <command>svn list</command> показывает содержимое
         директории в хранилише, при этом не закачивая его на локальную
         машину:</para>
@@ -3345,7 +3348,7 @@
       <para>If you want a more detailed listing, pass the
         <option>-ﳢ-verbose</option> (<option>-v</option>) flag to get
         output like this:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Если вам нужен более детальный листинг, тогда воспользуйтесь
         флагом <option>--verbose</option> (<option>-v</option>) чтобы увидеть
         нечто, подобное этому:</para>
@@ -3364,7 +3367,7 @@
         directory was last modified, the user who modified it, the size
         if it is a file, the date it was last modified, and the item's
         name.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Колонки показывают правку, в которой файл или директория последний
         раз менялись, имя пользователя делавшего изменения, размер если это
         файл, дату последнего изменения и имя елемента.</para>
@@ -3382,7 +3385,7 @@
         to take an entire working copy <quote>back in time</quote>
         <footnote><para>See?  We told you that Subversion was a time
         machine.</para></footnote>:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Заключительное слово о истории</title>
 
       <para>Дополнительно ко всем упомянутым выше командам, можно
@@ -3414,7 +3417,7 @@
       <para>While not as frequently used as the commands previously
         discussed in this chapter, you will occasionally need these
         commands.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Другие полезные команды</title>
 
       <para>При том, что эти команды используются не так часто как те
@@ -3446,7 +3449,7 @@
         <quote>locked</quote>, then this is the command that you
         should run.  Also, <command>svn status</command> will display
         an <literal>L</literal> next to locked items:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Когда Subversion изменяет рабочую копию (или любую информацию
         в области <filename>.svn</filename>) она пытается делать это
         безопастно настолько, насколко это возмоно. Перед изменением рабочей
@@ -3489,7 +3492,7 @@
       <para>The <command>svn import</command> command is a quick way
         to copy an unversioned tree of files into a repository,
         creating intermediate directories as necessary.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Команда <command>svn import</command> это быстрый способ
         скопировать неверсионированое дерево файлов в хранилище,
         Создавая при необходимости промежуточные директории.</para>
@@ -3510,7 +3513,7 @@
       <para>The previous example copied the contents of directory
         <filename>mytree</filename> under the directory
         <filename>some/project</filename> in the repository:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>В предыдещем примере выполняется копирование содержимого
         директории <filename>mytree</filename> в директорию
         <filename>some/project</filename> хранилища:</para>
@@ -3527,7 +3530,7 @@
         is <emphasis>not</emphasis> converted into a working copy.  To
         start working, you still need to <command>svn
         checkout</command> a fresh working copy of the tree.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Обратите внимание на то, что после завершения импорта,
         оригинальное дерево файлов <emphasis>не</emphasis>
         конвертируется в рабочую копию. Для того, чтобы начать работать вам
@@ -3553,7 +3556,7 @@
         get an idea of all the many different commands that Subversion
         has—and how you can use them to make your work
         easier.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Подводя итоги</title>
 
       <para>На настоящий момент мы рассмотрели большинство команд Subversion

Modified: trunk/src/ru/book/ch04.xml
==============================================================================
--- trunk/src/ru/book/ch04.xml	(original)
+++ trunk/src/ru/book/ch04.xml	Sat Jul 23 08:39:53 2005
@@ -2,8 +2,11 @@
 <chapter id="svn.branchmerge">
   <!-- @ENGLISH {{{
   <title>Branching and Merging</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Ветвление и слияние</title>
+  <chapterinfo>
+    <edition>1530</edition>
+  </chapterinfo>
   <!-- See also svn.preface.organization -->
 
   <simplesect>
@@ -20,7 +23,7 @@
       is a feature you'll eventually come to depend on.  This chapter
       assumes that you're already familiar with Subversion's basic
       concepts (<xref linkend="svn.basic"/>).</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Ветвление, назначение меток и слияние понятия свойственые
       практически всем системам управления версиями. Если вы плохо
       знакомы с этими понятиями, то в этой гллаве мы предллагаем хорошее
@@ -53,7 +56,7 @@
       the two copies separately.  As each department asks you to make
       small changes, you incorporate them into one copy or the
       other.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
 
     <title>Что такое ветка?</title>
 
@@ -84,7 +87,7 @@
       branch always begins life as a copy of something, and moves on
       from there, generating its own history (see <xref
       linkend="svn.branchmerge.whatis.dia-1"/>).</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Как правило, вам будет нужно вносить изменения в обе копии.
       Например, если вы обнаружили опечатку в одной копии, скорее
       всего, эта же опечатка присутствует и во второй копии.
@@ -113,7 +116,7 @@
       your working copy reflect different branches, so that you can
       <quote>mix and match</quote> different lines of development in
       your daily work.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
       <figure id="svn.branchmerge.whatis.dia-1">
         <title>Ветки разработки</title>
         <graphic fileref="images/ch04dia1.png"/>
@@ -150,7 +153,7 @@
       project directory now contains subdirectories named
       <filename>trunk</filename> and <filename>branches</filename>.
       The reason for this will soon become clear.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <title>Использование веток</title>
 
     <para>К этому моменту вы должны понимать как в хранилище, при каждой
@@ -170,7 +173,7 @@
       <figure id="svn.branchmerge.using.dia-1">
         <!-- @ENGLISH {{{
         <title>Starting repository layout</title>
-        @ ENGLISH }}} -->
+        @ENGLISH }}} -->
         <title>Начальная структура хранилища</title>
         <graphic fileref="images/ch04dia2.png"/>
       </figure>
@@ -194,7 +197,7 @@
       <filename>/calc/trunk</filename>) is always usable.  If you
       start committing your changes bit-by-bit, you'll surely break
       things for Sally.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Как и раньше, будем считать что Салли и вы, оба, имеете
       рабочие копии проекта <quote>calc</quote>. А конкретно, каждый
       из вас имеет рабочую копию <filename>/calc/trunk</filename>.
@@ -235,7 +238,7 @@
       that are difficult to incorporate into your working
       copy—especially if you run <command>svn update</command>
       after weeks of isolation.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Одиним из вариантов является ограничение свободы действий:
       вы и Салли перестаете делиться информацией на неделю или две.
       В это время начинайте переворачивать и реорганизовывать файлы
@@ -269,7 +272,7 @@
       you can still selectively share information with your
       collaborators.  You'll see exactly how this works later
       on.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Лучшим решением является создание вашей собственной ветки, или
       направления разработки, в хранилище. Это позволит вам часто сохранять
       наполовину поломаную работу не пересекаясь с другими, и кроме того,
@@ -301,7 +304,7 @@
         demonstrate the messy way first, just to make the concept
         clear.  To begin, check out a working copy of the project's
         root directory, <filename>/calc</filename>:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <title>Создание ветки</title>
 
       <para>Создать ветку очень просто — при помощи команды
@@ -337,7 +340,7 @@
       <para>Making a copy is now simply a matter of passing two
         working-copy paths to the <command>svn copy</command>
         command:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Теперь создание копии заключается в простой предаче
         двух путей в пределах рабочей копии команде
         <command>svn copy</command>:</para>
@@ -364,7 +367,7 @@
         repository by copying <filename>/calc/trunk</filename>, rather
         than resending all of the working copy data over the
         network:</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>В этом случае, команда <command>svn copy</command>
         рекурсивно копирует рабочую директорию <filename>trunk</filename>
         в новую рабочую директорию
@@ -390,7 +393,7 @@
       <para>And now the easier method of creating a branch, which we
         should have told you about in the first place: <command>svn
         copy</command> is able to operate directly on two URLs.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>А теперь, простой способ создания ветки, о котором мы говорили
         раньше: команда <command>svn copy</command> может оперировать
         с двумя URL напрямую.</para>
@@ -420,7 +423,7 @@
         check out a large mirror of the repository.  In fact, this
         technique doesn't even require you to have a working copy at
         all.</para>
-      @ ENGLISH }}} -->
+      @ENGLISH }}} -->
       <para>Всущности, между этими двумя методами нет разници. Оба варианта
         создают в правке 341 новую директорию и эта новая директория является
         копией <filename>/calc/trunk</filename>. Это показывает <xref

Modified: trunk/src/ru/book/ch05.xml
==============================================================================
--- trunk/src/ru/book/ch05.xml	(original)
+++ trunk/src/ru/book/ch05.xml	Sat Jul 23 08:39:53 2005
@@ -2,8 +2,11 @@
 <chapter id="svn.reposadmin">
   <!-- @ENGLISH {{{
   <title>Repository Administration</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Администрирование хранилища</title>
+  <chapterinfo>
+    <edition>1563</edition>
+  </chapterinfo>
   <!-- See also svn.preface.organization -->
 
   <simplesect>

Modified: trunk/src/ru/book/ch06.xml
==============================================================================
--- trunk/src/ru/book/ch06.xml	(original)
+++ trunk/src/ru/book/ch06.xml	Sat Jul 23 08:39:53 2005
@@ -3,12 +3,15 @@
 
   <!-- @ENGLISH {{{
   <title>Server Configuration</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Настройка сервера</title>
+  <chapterinfo>
+    <edition>1563</edition>
+  </chapterinfo>
   <!-- See also svn.preface.organization -->
-  
+
   <simplesect>
-    
+
     <para>A Subversion repository can be accessed simultaneously by
       clients running on the same machine on which the repository
       resides using the <literal>file:///</literal> method.  But the
@@ -16,7 +19,7 @@
       accessed from clients on computers all over the office—or,
       perhaps, all over the world.</para>
 
-    
+
     <para>This section describes how to get your Subversion repository
       exposed outside its host machine for use by remote clients.  We
       will cover Subversion's currently available server mechanisms,
@@ -24,16 +27,16 @@
       this section, you should be able to decide which networking
       setup is right for your needs, and understand how to enable such
       a setup on your host computer.</para>
-    
+
   </simplesect>
-  
+
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.serverconfig.overview">
-    
+
     <title>Overview</title>
-    
+
     <para>Subversion was designed with an abstract network layer.
       This means that a repository can be programmatically accessed by
       any sort of server process, and the client <quote>repository
@@ -41,7 +44,7 @@
       speak relevant network protocols.  In theory, Subversion can use
       an infinite number of network implementations.  In practice,
       there are only two servers at the time of writing.</para>
-    
+
     <para>Apache is an extremely popular webserver; using the
       <command>mod_dav_svn</command> module, Apache can access a
       repository and make it available to clients via the WebDAV/DeltaV
@@ -61,7 +64,7 @@
       comparison of the two available Subversion servers—as an
       administrator, it's up to you to choose whatever works best for
       you and your users.</para>
-      
+
 
     <table id="svn.serverconfig.overview.tbl-1">
       <title>Network Server Comparison</title>
@@ -76,35 +79,35 @@
         <tbody>
           <row>
             <entry>Authentication options</entry>
-            
+
             <entry>HTTP(S) basic auth, X.509 certificates, LDAP, NTLM, or
               any other mechanism available to Apache httpd</entry>
-            
+
             <entry>CRAM-MD5 or SSH</entry>
           </row>
-          
+
           <row>
             <entry>User account options</entry>
-            
+
             <entry>private 'users' file</entry>
-            
+
             <entry>private 'users' file, or existing system (SSH)
               accounts</entry>
           </row>
-          
+
           <row>
             <entry>Authorization options</entry>
-            
+
             <entry>blanket read/write access, or per-directory
               read/write control</entry>
-            
+
             <entry>blanket read/write access, or per-directory write
               (but not read) control using a pre-commit hook</entry>
           </row>
-          
+
           <row>
             <entry>Encryption</entry>
-            
+
             <entry>via optional SSL</entry>
 
             <entry>via optional SSH tunnel</entry>
@@ -112,7 +115,7 @@
 
           <row>
             <entry>Interoperability</entry>
-            
+
             <entry>partially usable by other WebDAV clients</entry>
 
             <entry>not interoperable</entry>
@@ -120,7 +123,7 @@
 
           <row>
             <entry>Web viewing</entry>
-            
+
             <entry>limited built-in support, or via 3rd-party tools
               such as ViewCVS</entry>
 
@@ -129,7 +132,7 @@
 
           <row>
             <entry>Speed</entry>
-            
+
             <entry>somewhat slower</entry>
 
             <entry>somewhat faster</entry>
@@ -137,16 +140,16 @@
 
           <row>
             <entry>Initial setup</entry>
-            
+
             <entry>somewhat complex</entry>
 
             <entry>fairly simple</entry>
           </row>
 
         </tbody>
-      </tgroup>      
+      </tgroup>
     </table>
-    
+
   </sect1>
 
   <!-- ================================================================= -->
@@ -229,7 +232,7 @@
         (The runtime area is covered in more detail in <xref
         linkend="svn.advanced.confarea"/>.)  Successful credentials are
         cached on disk, keyed on a combination of hostname, port, and
-        authentication realm.</para>  
+        authentication realm.</para>
 
       <para>When the client receives an authentication challenge, it
         first looks for the appropriate credentials in the disk cache;
@@ -318,7 +321,7 @@
 
 <screen>
 $ ls ~/.subversion/auth/svn.simple/
-5671adf2865e267db74f09ba6f872c28        
+5671adf2865e267db74f09ba6f872c28
 3893ed123b39500bca8a0b382839198e
 5c3c22968347b390f349ff340196ed39
 
@@ -362,7 +365,7 @@
            they're surprised to see that they're never used, i.e. new
            revisions still appear to have been committed
            anonymously!</para></footnote>
-        
+
         Typically, these options are used when:</para>
 
       <itemizedlist>
@@ -375,7 +378,7 @@
             credentials.</para>
         </listitem>
       </itemizedlist>
-          
+
 
       <para>Here is a final summary that describes how a Subversion
         client behaves when it receives an authentication
@@ -415,7 +418,7 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.serverconfig.svnserve">
-    
+
     <title>svnserve, a custom server</title>
 
     <para>The <command>svnserve</command> program is a lightweight
@@ -511,7 +514,7 @@
         <literal>file:///</literal> URLs.</para>
 
       <sidebar id="svn.serverconfig.svnserve.invoking.sb-1">
-        <title>Servers and Permissions:  A Word of Warning</title>        
+        <title>Servers and Permissions:  A Word of Warning</title>
 
         <para>First, remember that a Subversion repository is a
           collection of database files; any process which accesses the
@@ -548,7 +551,7 @@
         <option>-r</option> option to <command>svnserve</command>,
         which restricts it to exporting only repositories below that
         path:</para>
-      
+
 <screen>
 $ svnserve -d -r /usr/local/repositories
 …
@@ -559,12 +562,12 @@
         the remote filesystem space.  Clients then use URLs that
         have that path portion removed from them, leaving much
         shorter (and much less revealing) URLs:</para>
-      
+
 <screen>
 $ svn checkout svn://host.example.com/project1
 …
 </screen>
- 
+
     </sect2>
 
     <!-- =============================================================== -->
@@ -825,7 +828,7 @@
         still be used to block access, by simply setting
         <literal>auth-access = read</literal> or <literal>auth-access
         = none</literal>.</para>
-      
+
       <para>You'd think that the story of SSH tunneling would end
         here, but it doesn't.  Subversion allows you to create custom
         tunnel behaviors in your run-time <filename>config</filename>
@@ -893,10 +896,10 @@
         exact <command>svnserve</command> command executed
         by <command>sshd</command>, as well as how to have multiple
         users share a single system account.</para>
-      
+
       <sect3 id="svn.serverconfig.svnserve.sshtricks.setup">
         <title>Initial setup</title>
-        
+
         <para>To begin, locate the home directory of the account
           you'll be using to launch <command>svnserve</command>.  Make
           sure the account has an SSH public/private keypair
@@ -915,7 +918,7 @@
 <screen>
   ssh-dsa AAAABtce9euch.... user at example.com
 </screen>
-          
+
         <para>The first field describes the type of key, the second
           field is the uuencoded key itself, and the third field is a
           comment.  However, it's a lesser known fact that the entire
@@ -938,14 +941,14 @@
 </screen>
 
       </sect3>
-      
+
       <sect3 id="svn.serverconfig.svnserve.sshtricks.fixedcmd">
         <title>Controlling the invoked command</title>
 
         <para>Because we can specify the executed server-side command,
           it's easy to name a specific <command>svnserve</command>
           binary to run and to pass it extra arguments:</para>
-        
+
 <screen>
   command="/path/to/svnserve -t -r /virtual/root" TYPE KEY COMMENT
 </screen>
@@ -961,7 +964,7 @@
           system, or simply to relieve the user of having to type an
           absolute path in the <literal>svn+ssh://</literal>
           URL.</para>
-        
+
         <para>It's also possible to have multiple users share a single
           account.  Instead of creating a separate system account for
           each user, generate a public/private keypair for each
@@ -978,7 +981,7 @@
         <para>This example allows both Harry and Sally to connect to
           the same account via public-key authentication.  Each of
           them has a custom command that will be executed;
-          the <option>--tunnel-user</option> option 
+          the <option>--tunnel-user</option> option
           tells <command>svnserve -t</command> to assume that the named
           argument is the authenticated user.  Without
           <option>--tunnel-user</option>, it would appear as though
@@ -1005,7 +1008,7 @@
       </sect3>
 
     </sect2>
-    
+
   </sect1>
 
 
@@ -1013,7 +1016,7 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.serverconfig.httpd">
-    
+
     <title>httpd, the Apache HTTP server</title>
 
     <para>The Apache HTTP Server is a <quote>heavy duty</quote>
@@ -1046,7 +1049,7 @@
       For example, a general reference for the configuration
       directives is located at <systemitem class="url">
       http://httpd.apache.org/docs-2.0/mod/directives.html</systemitem>.</para>
-    
+
     <para>Also, as you make changes to your Apache setup, it is likely
       that somewhere along the way a mistake will be made.  If you are
       not already familiar with Apache's logging subsystem, you should
@@ -1059,7 +1062,7 @@
       the contents of those files for information that might reveal
       the source of a problem that is not clearly noticeable
       otherwise.</para>
-    
+
     <sidebar>
       <title>Why Apache 2?</title>
 
@@ -1092,7 +1095,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.httpd.prereqs">
       <title>Prerequisites</title>
-      
+
       <para>To network your repository over HTTP, you basically need
         four components, available in two packages.  You'll need
         Apache <command>httpd</command> 2.0, the
@@ -1101,7 +1104,7 @@
         filesystem provider module distributed with Subversion.
         Once you have all of those components, the process of
         networking your repository is as simple as:</para>
-      
+
       <itemizedlist>
         <listitem>
           <para>getting httpd 2.0 up and running with the mod_dav
@@ -1117,7 +1120,7 @@
             file to export (or expose) the repository.</para>
         </listitem>
       </itemizedlist>
-      
+
       <para>You can accomplish the first two items either by
         compiling <command>httpd</command> and Subversion from
         source code, or by installing pre-built binary packages of
@@ -1126,13 +1129,13 @@
         as well as how to compile and configure Apache itself for
         this purpose, see the <filename>INSTALL</filename> file in
         the top level of the Subversion source code tree.</para>
-      
+
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.httpd.basic">
       <title>Basic Apache Configuration</title>
-      
+
       <para>Once you have all the necessary components installed on
         your system, all that remains is the configuration of Apache
         via its <filename>httpd.conf</filename> file.  Instruct Apache
@@ -1147,7 +1150,7 @@
         <literal>LoadModule</literal> directive has a simple syntax,
         mapping a named module to the location of a shared library on
         disk:</para>
-    
+
         <screen>
 LoadModule dav_svn_module     modules/mod_dav_svn.so
 </screen>
@@ -1163,7 +1166,7 @@
 LoadModule dav_svn_module     modules/mod_dav_svn.so
 </screen>
 
-    
+
       <para>At a later location in your configuration file, you now
         need to tell Apache where you keep your Subversion repository
         (or repositories).  The <literal>Location</literal> directive
@@ -1182,14 +1185,14 @@
         repository is located at
         <filename>/absolute/path/to/repository</filename> using the
         following <filename>httpd.conf</filename> syntax:</para>
-                
+
         <screen>
 <Location /repos>
   DAV svn
   SVNPath /absolute/path/to/repository
 </Location>
 </screen>
-            
+
       <para>If you plan to support multiple Subversion repositories
         that will reside in the same parent directory on your local
         disk, you can use an alternative directive, the
@@ -1203,7 +1206,7 @@
         class="url">http://my.server.com/svn/repos2</systemitem>, and
         so on, you could use the <filename>httpd.conf</filename>
         configuration syntax in the following example:</para>
-              
+
         <screen>
 <Location /svn>
   DAV svn
@@ -1212,7 +1215,7 @@
   SVNParentPath /usr/local/svn
 </Location>
 </screen>
-            
+
       <para>Using the previous syntax, Apache will delegate the
         handling of all URLs whose path portions begin with
         <filename>/svn/</filename> to the Subversion DAV provider,
@@ -1222,7 +1225,7 @@
         convenient syntax in that, unlike the use of the
         <literal>SVNPath</literal> directive, you don't have to
         restart Apache in order to create and network new
-        repositories.</para>      
+        repositories.</para>
 
       <para>Be sure that when you define your new
         <literal>Location</literal>, it doesn't overlap with other
@@ -1239,7 +1242,7 @@
 
       <sidebar>
         <title>Server Names and the COPY Request</title>
-        
+
         <para>Subversion makes use of the <literal>COPY</literal>
           request type to perform server-side copies of files and
           directories.  As part of the sanity checking done by the
@@ -1249,11 +1252,11 @@
           the name you use as the hostname of your server.  Generally,
           you can use the <literal>ServerName</literal> directive in
           <filename>httpd.conf</filename> to accomplish this.</para>
-        
+
         <screen>
 ServerName svn.example.com
 </screen>
-            
+
         <para>If you are using Apache's virtual hosting support via
           the <literal>NameVirtualHost</literal> directive, you may
           need to use the <literal>ServerAlias</literal> directive to
@@ -1272,7 +1275,7 @@
         Apache, when used as a Subversion server, will also need the
         correct permissions to read and write to your Subversion
         repository.  (See <xref linkend="svn.serverconfig.svnserve.invoking.sb-1"/>.)</para>
-    
+
       <para>You will need to determine a permission system setup that
         satisfies Subversion's requirements without messing up any
         previously existing web page or script installations.  This
@@ -1311,7 +1314,7 @@
         repositories you make available via the
         <literal>Location</literal> directive will be generally
         accessible to everyone.  In other words,</para>
-      
+
       <itemizedlist>
         <listitem>
           <para>anyone can use their Subversion client to checkout a
@@ -1330,7 +1333,7 @@
 
       <sect3 id="svn.serverconfig.httpd.authn.basic">
         <title>Basic HTTP Authentication</title>
-        
+
         <para>The easiest way to authenticate a client is via the
           HTTP Basic authentication mechanism, which simply uses a
           username and password to verify that a user is who she says
@@ -1340,12 +1343,12 @@
           your Subversion repository.  Let's grant commit access to
           Sally and Harry.  First, we need to add them to the password
           file.</para>
-    
+
         <screen>
 $ ### First time: use -c to create the file
 $ ### Use -m to use MD5 encryption of the password, which is more secure
 $ htpasswd -cm /etc/svn-auth-file harry
-New password: ***** 
+New password: *****
 Re-type new password: *****
 Adding password for user harry
 $ htpasswd -m /etc/svn-auth-file sally
@@ -1369,11 +1372,11 @@
           use the <literal>AuthUserFile</literal> directive to specify
           the location of the password file you created using
           <command>htpasswd</command>.</para>
-    
+
         <para>After adding these three directives, your
           <literal><Location></literal> block should look
           something like this:</para>
-    
+
         <screen>
 <Location /svn>
   DAV svn
@@ -1436,7 +1439,7 @@
 
       <sect3 id="svn.serverconfig.httpd.authn.sslcerts">
         <title>SSL Certificate Management</title>
-        
+
         <para>Businesses that need to expose their repositories for access
           outside the company firewall should be conscious of the
           possibility that unauthorized parties could be
@@ -1518,7 +1521,7 @@
 [global]
 ssl-authority-files = /path/to/CAcert1.pem;/path/to/CAcert2.pem
 </screen>
-        
+
         <para>Many OpenSSL installations also have a pre-defined set
           of <quote>default</quote> CAs that are nearly universally
           trusted.  To make the Subversion client automatically trust
@@ -1583,7 +1586,7 @@
       </sect3>
 
     </sect2>
-    
+
     <!-- =============================================================== -->
     <sect2 id="svn.serverconfig.httpd.authz">
       <title>Authorization Options</title>
@@ -1610,7 +1613,7 @@
           <literal>sally</literal>, and provided the correct
           password for their respective username, would be allowed to
           do anything with the Subversion repository:</para>
-    
+
         <screen>
 <Location /svn>
   DAV svn
@@ -1620,7 +1623,7 @@
   AuthType Basic
   AuthName "Subversion repository"
   AuthUserFile /path/to/users/file
-  
+
   # only authenticated users may access the repository
   Require valid-user
 </Location>
@@ -1640,7 +1643,7 @@
           <literal>Location</literal> directive, these blocks have
           starting and ending tags, and you would nest them inside
           your <literal><Location></literal> block.</para>
-  
+
         <para>The parameters present on the <literal>Limit</literal>
           and <literal>LimitExcept</literal> directives are HTTP
           request types that are affected by that block.  For example,
@@ -1654,7 +1657,7 @@
           directive would be placed inside the
           <literal><LimitExcept></literal> block instead of just
           inside the <literal><Location></literal> block.</para>
-    
+
         <screen>
 <Location /svn>
   DAV svn
@@ -1678,7 +1681,7 @@
           <literal>Security</literal> section of the Apache
           documentation's tutorials collection at <systemitem
           class="url">http://httpd.apache.org/docs-2.0/misc/tutorials.html</systemitem>.</para>
-              
+
 
       </sect3>
 
@@ -1735,7 +1738,7 @@
   SVNParentPath /usr/local/svn
 
   # our access control policy
-  AuthzSVNAccessFile /path/to/access/file                 
+  AuthzSVNAccessFile /path/to/access/file
 </Location>
           </programlisting>
         </example>
@@ -1753,17 +1756,17 @@
 <Location /repos>
   DAV svn
   SVNParentPath /usr/local/svn
-            
+
   # our access control policy
-  AuthzSVNAccessFile /path/to/access/file                 
-            
+  AuthzSVNAccessFile /path/to/access/file
+
   # only authenticated users may access the repository
   Require valid-user
-            
+
   # how to authenticate a user
   AuthType Basic
   AuthName "Subversion repository"
-  AuthUserFile /path/to/users/file                  
+  AuthUserFile /path/to/users/file
 </Location>
           </programlisting>
         </example>
@@ -1787,23 +1790,23 @@
 <Location /repos>
   DAV svn
   SVNParentPath /usr/local/svn
-            
+
   # our access control policy
-  AuthzSVNAccessFile /path/to/access/file                 
-            
-  # try anonymous access first, resort to real 
+  AuthzSVNAccessFile /path/to/access/file
+
+  # try anonymous access first, resort to real
   # authentication if necessary.
   Satisfy Any
   Require valid-user
-            
+
   # how to authenticate a user
   AuthType Basic
   AuthName "Subversion repository"
-  AuthUserFile /path/to/users/file                  
+  AuthUserFile /path/to/users/file
 </Location>
           </programlisting>
         </example>
-        
+
         <para>Once your basic <literal>Location</literal> block is
           configured, you can create an access file and define some
           authorization rules in it.</para>
@@ -1832,7 +1835,7 @@
           directive, however, then it's fine to only define paths in
           your sections—after all, there's only one
           repository.</para>
-          
+
         <screen>
 [calc:/branches/calc/bug-142]
 harry = rw
@@ -1878,7 +1881,7 @@
 [calc:/branches/calc/bug-142/secret]
 harry =
 </screen>
-        
+
         <para>In this example, Harry has read-write access to the
           entire <filename>bug-142</filename> tree, but has absolutely no
           access at all to the <filename>secret</filename>
@@ -1945,7 +1948,7 @@
 
 [paint:/projects/paint]
 @paint-developers = rw
-jane = r 
+jane = r
 </screen>
 
         <para>Groups can also be defined to contain other
@@ -2014,9 +2017,9 @@
 <Location /repos>
   DAV svn
   SVNParentPath /usr/local/svn
-            
+
   SVNPathAuthz off
-</Location>            
+</Location>
           </programlisting>
         </example>
 
@@ -2040,7 +2043,7 @@
 
       <sect3 id="svn.serverconfig.httpd.extra.browsing">
         <title>Repository Browsing</title>
-        
+
         <para>One of the most useful benefits of an Apache/WebDAV
           configuration for your Subversion repository is that the
           youngest revisions of your versioned files and directories
@@ -2075,7 +2078,7 @@
           <filename>httpd.conf</filename> will instruct mod_dav_svn to
           generate XML output when displaying a directory listing, and
           to reference the XSLT stylesheet of your choice:</para>
- 
+
         <screen>
 <Location /svn>
   DAV svn
@@ -2133,7 +2136,7 @@
 
       <sect3 id="svn.serverconfig.httpd.extra.other">
         <title>Other Features</title>
-        
+
         <para>Several of the features already provided by Apache in
           its role as a robust Web server can be leveraged for
           increased functionality or security in Subversion as well.
@@ -2146,7 +2149,7 @@
           of data).  You need only to compile support for the features
           you desire into Subversion and Apache, and properly
           configure the programs to use those features.</para>
-    
+
         <para>Deflate compression places a small burden on the client
           and server to compress and decompress network transmissions
           as a way to minimize the size of the actual transmission.
@@ -2156,7 +2159,7 @@
           extreme cases, this minimized network transmission could be
           the difference between an operation timing out or completing
           successfully.</para>
-  
+
         <para>Less interesting, but equally useful, are other features
           of the Apache and Subversion relationship, such as the
           ability to specify a custom port (instead of the default
@@ -2175,7 +2178,7 @@
           complicated topic; for details, read <xref
           linkend="svn.webdav"/>.</para>
 
-        
+
       </sect3>
 
     </sect2>
@@ -2187,17 +2190,17 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.serverconfig.multimethod">
-    
+
     <title>Supporting Multiple Repository Access Methods</title>
 
     <para>You've seen how a repository can be accessed in many
       different ways.  But is it possible—or safe—for your
       repository to be accessed by multiple methods simultaneously?
       The answer is yes, provided you use a bit of foresight.</para>
-    
+
     <para>At any given time, these processes may require read and
       write access to your repository:</para>
-    
+
     <itemizedlist>
       <listitem>
         <para>regular system users using a Subversion client (as
@@ -2220,7 +2223,7 @@
           particular fixed user.</para>
       </listitem>
     </itemizedlist>
-    
+
     <para>The most common problem administrators run into is repository
       ownership and permissions.  Does every process (or user) in the
       previous list have the rights to read and write the Berkeley DB
@@ -2231,7 +2234,7 @@
       not enough, because a process may write to the database files
       using an unfriendly umask—one that prevents access by
       other users.</para>
-    
+
     <para>So the next step beyond setting up a common group for
       repository users is to force every repository-accessing process
       to use a sane umask.  For users accessing the repository
@@ -2269,7 +2272,7 @@
       seem a bit messy and complicated, but the problems of having
       multiple users sharing write-access to common files are classic
       ones that are not often elegantly solved.</para>
-    
+
     <para>Fortunately, most repository administrators will never
       <emphasis>need</emphasis> to have such a complex configuration.
       Users who wish to access repositories that live on the same
@@ -2325,7 +2328,7 @@
 </chapter>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "chapter")
 end:
 vim: tw=78:ft=svnbook

Modified: trunk/src/ru/book/ch07.xml
==============================================================================
--- trunk/src/ru/book/ch07.xml	(original)
+++ trunk/src/ru/book/ch07.xml	Sat Jul 23 08:39:53 2005
@@ -3,8 +3,11 @@
 
   <!-- @ENGLISH {{{
   <title>Advanced Topics</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Профессиональное использование Subversion</title>
+  <chapterinfo>
+    <edition>1563</edition>
+  </chapterinfo>
   <!-- See also svn.preface.organization -->
 
   <simplesect>
@@ -47,7 +50,7 @@
 
   <sect1 id="svn.advanced.confarea">
     <title>Runtime Configuration Area</title>
-    
+
     <para>Subversion provides many optional behaviors that can be
       controlled by the user.  Many of these options are of the kind
       that a user would wish to apply to all Subversion operations.
@@ -111,7 +114,7 @@
 
       <para>The configuration area currently contains three
         files—two configuration files (<filename>config</filename> and
-        <filename>servers</filename>), and a <filename>README.txt</filename> 
+        <filename>servers</filename>), and a <filename>README.txt</filename>
         file which describes the INI format.  At the time of their
         creation, the files contain default values for each of the
         supported Subversion options, mostly commented out and grouped
@@ -165,7 +168,7 @@
         so are overridden by values found in the configuration
         files.  In other words, configuration priority is granted in
         the following order on a Windows system:</para>
-      
+
       <orderedlist>
         <listitem>
           <para>Command-line options</para>
@@ -261,7 +264,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.confarea.opts">
       <title>Configuration Options</title>
-      
+
       <para>In this section, we will discuss the specific
         run-time configuration options that are currently supported
         by Subversion.</para>
@@ -545,7 +548,7 @@
         <para>The <literal>miscellany</literal> section is where
           everything that doesn't belong elsewhere winds up.
           <footnote>
-            <para>Anyone for potluck dinner?</para> 
+            <para>Anyone for potluck dinner?</para>
           </footnote>
           In this section, you can find:</para>
 
@@ -579,7 +582,7 @@
                 />.</para>
             </listitem>
           </varlistentry>
-          
+
           <varlistentry>
             <term><literal>enable-auto-props</literal></term>
             <listitem>
@@ -589,12 +592,12 @@
                 <literal>yes</literal> to enable Auto-props.
                 The <literal>auto-props</literal> section of this file
                 specifies which properties are to be set on which files.</para>
-            </listitem>            
+            </listitem>
           </varlistentry>
 
           <varlistentry>
             <term><literal>log-encoding</literal></term>
-            <listitem>         
+            <listitem>
               <para>This variable sets the default character set
                 encoding for commit log messages.  It's a permanent
                 form of the <option>--encoding</option> option (see
@@ -609,7 +612,7 @@
 
           <varlistentry>
             <term><literal>use-commit-times</literal></term>
-            <listitem>         
+            <listitem>
               <para>Normally your working copy files have timestamps
                 that reflect the last time they were touched by any
                 process, whether that be your own editor or by some
@@ -632,8 +635,8 @@
                 timestamps on files that they touch.</para>
             </listitem>
           </varlistentry>
-          
-	  <!-- ###TODO add description of other options shown in example
+
+    <!-- ###TODO add description of other options shown in example
           registry file, e.g., template-root -->
         </variablelist>
 
@@ -781,7 +784,7 @@
 property 'copyright' set on 'calc/button.c'
 $
 </screen>
-       
+
       <para>But we've been touting the flexibility that Subversion
         offers for your property values.  And if you are planning to
         have a multi-line textual, or even binary, property value, you
@@ -869,7 +872,7 @@
 Copyright (c) 2003 Red-Bean Software.  All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions 
+modification, are permitted provided that the following conditions
 are met:
 
 1. Redistributions of source code must retain the above copyright
@@ -891,7 +894,7 @@
 $ svn proplist --verbose calc/button.c
 Properties on 'calc/button.c':
   copyright : (c) 2003 Red-Bean Software
-  license : 
+  license :
 $
 </screen>
 
@@ -993,15 +996,15 @@
           changes on a versioned resource that clash with your own,
           Subversion will report that the resource is in a conflicted
           state.</para>
- 
+
         <screen>
 % svn update calc
 M  calc/Makefile.in
  C calc/button.c
 Updated to revision 143.
-$ 
+$
 </screen>
-         
+
         <para>Subversion will also create, in the same directory as
           the conflicted resource, a file with a
           <filename>.prej</filename> extension which contains the
@@ -1016,11 +1019,11 @@
 $ svn status calc
  C     calc/button.c
 ?      calc/button.c.prej
-$ cat calc/button.c.prej 
+$ cat calc/button.c.prej
 prop 'linecount': user set to '1256', but update set to '1301'.
 $
 </screen>
- 
+
         <para>To resolve property conflicts, simply ensure that the
           conflicting properties contain the values that they should,
           and then use the <command>svn resolved</command> command to
@@ -1053,7 +1056,7 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.props.special">
-      
+
       <title>Special Properties</title>
 
       <para>Subversion has no particular policy regarding
@@ -1065,10 +1068,10 @@
         directories to which they are attached.  In this section,
         we'll untangle the mystery, and describe how these special
         properties make your life just a little easier.</para>
-      
+
       <sect3 id="svn.advanced.props.special.executable">
         <title><literal>svn:executable</literal></title>
- 
+
         <para>The <literal>svn:executable</literal> property is used
           to control a versioned file's filesystem-level execute
           permission bit in a semi-automated way.  This property has
@@ -1108,7 +1111,7 @@
 
       <sect3 id="svn.advanced.props.special.mime-type">
         <title><literal>svn:mime-type</literal></title>
-        
+
         <para>The <literal>svn:mime-type</literal> property serves
           many purposes in Subversion.  Besides being a
           general-purpose storage location for a file's Multipurpose
@@ -1199,7 +1202,7 @@
 
         <sidebar>
           <title>Ignore Patterns for CVS Users</title>
-        
+
           <para>The Subversion <literal>svn:ignore</literal> property
             is very similar in syntax and function to the CVS
             <filename>.cvsignore</filename> file.  In fact, if you are
@@ -1207,12 +1210,12 @@
             directly migrate the ignore patterns by using the
             <filename>.cvsignore</filename> file as input file to the
             <command>svn propset</command> command:</para>
-       
+
           <screen>
 $ svn propset svn:ignore -F .cvsignore .
 property 'svn:ignore' set on '.'
 $
-</screen>        
+</screen>
 
           <para>There are, however, some differences in the ways that
             CVS and Subversion handle ignore patterns.  The two systems
@@ -1295,7 +1298,7 @@
           items—such as that source code file that you probably
           forgot to add to version control.</para>
 
-        <para>If you want to see the ignored files, you can pass the 
+        <para>If you want to see the ignored files, you can pass the
           <option>--no-ignore</option> option to Subversion:</para>
 
 <screen>
@@ -1318,7 +1321,7 @@
           Subversion uses the ignore patterns to determine which files
           should not be swept into the version control system as part
           of a larger recursive addition or import operation.</para>
-   
+
       </sect3>
 
       <sect3 id="svn.advanced.props.special.keywords">
@@ -1358,7 +1361,7 @@
           regardless of case, but this behaviour is deprecated.</para>
 
         <para>Subversion defines the list of keywords available for
-          substitution.  That list contains the following five keywords, 
+          substitution.  That list contains the following five keywords,
           some of which have aliases that you can also use:</para>
 
         <variablelist>
@@ -1378,7 +1381,7 @@
             <listitem>
               <para>This keyword describes the last known revision in
                 which this file changed in the repository, and looks
-                something like <literal>$Revision: 144 $</literal>.  
+                something like <literal>$Revision: 144 $</literal>.
                 It may also be specified as
                 <literal>LastChangedRevision</literal> or
                 <literal>Rev</literal>.</para>
@@ -1389,8 +1392,8 @@
             <listitem>
               <para>This keyword describes the last known user to
                 change this file in the repository, and looks
-                something like <literal>$Author: harry $</literal>.  
-                It may also be specified as 
+                something like <literal>$Author: harry $</literal>.
+                It may also be specified as
                 <literal>LastChangedBy</literal>.</para>
             </listitem>
           </varlistentry>
@@ -1426,7 +1429,7 @@
           a document
           <footnote>
             <para>… or maybe even a section of a book …</para>
-          </footnote> 
+          </footnote>
           about how to use keywords, and you don't want Subversion to
           substitute your beautiful examples of un-substituted keyword
           anchors!</para>
@@ -1449,7 +1452,7 @@
 $Rev$
 Cumulus clouds are appearing more frequently as summer approaches.
 </programlisting>
-        
+
         <para>With no <literal>svn:keywords</literal> property set on
           that file, Subversion will do nothing special.  Now, let's
           enable substitution of the
@@ -1459,7 +1462,7 @@
 $ svn propset svn:keywords "Date Author" weather.txt
 property 'svn:keywords' set on 'weather.txt'
 $
-</screen>        
+</screen>
 
         <para>Now you have made a local property modification on the
           <filename>weather.txt</filename> file.  You will see no
@@ -1512,7 +1515,7 @@
 $Rev$
 Cumulus clouds are appearing more frequently as summer approaches.
 </screen>
-        
+
         <para>If someone else now commits a change to
           <filename>weather.txt</filename>, your copy of that file
           will continue to display the same substituted keyword value
@@ -1532,7 +1535,7 @@
           speaking, Subversion only uses this knowledge to determine
           if contextual difference reports for that file are
           possible.  Otherwise, to Subversion, bytes are bytes.</para>
-        
+
         <para>This means that by default, Subversion doesn't pay any
           attention to the type of <firstterm>end-of-line (EOL)
           markers</firstterm> used in your files.  Unfortunately,
@@ -1649,7 +1652,7 @@
             </listitem>
           </varlistentry>
         </variablelist>
-        
+
       </sect3>
 
       <sect3 id="svn.advanced.props.special.externals">
@@ -1760,7 +1763,7 @@
         See <xref linkend="svn.advanced.confarea.opts.config"/> for more about
         configuring that support.</para>
 
-    </sect2>     
+    </sect2>
   </sect1>
 
   <!-- ================================================================= -->
@@ -1807,7 +1810,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.locking.creation">
       <title>Creating locks</title>
-      
+
       <para>In the Subversion repository, a
         <firstterm>lock</firstterm> is a piece of metadata which
         grants exclusive access to one user to change a file.  This
@@ -1819,7 +1822,7 @@
         commit transaction attempts to modify or delete the file (or
         delete a parent of the file), the repository will demand two
         pieces of information:</para>
-      
+
       <orderedlist>
         <listitem><para><emphasis role="bold">User
           authentication</emphasis>.  The client performing the commit
@@ -1831,7 +1834,7 @@
           exactly which lock it's using.</para>
         </listitem>
       </orderedlist>
-      
+
       <para>An example is in order, to demonstrate.  Let's say that
         Harry has decided to change a JPEG image.  To prevent other
         people from committing changes to the file, he locks the file
@@ -2097,7 +2100,7 @@
 UUID Token: opaquelocktoken:c32b4d88-e8fb-2310-abb3-153ff1236923
 Owner: frank
 Created: 2005-06-15 13:29:18 -0500 (Wed, 15 Jun 2005)
-Expires: 
+Expires:
 Comment (1 line):
 Still improving the yellow color.
 
@@ -2105,7 +2108,7 @@
 UUID Token: opaquelocktoken:fc2b4dee-98f9-0310-abf3-653ff3226e6b
 Owner: harry
 Created: 2005-02-16 13:29:18 -0500 (Wed, 16 Feb 2005)
-Expires: 
+Expires:
 Comment (1 line):
 Need to make a quick tweak to this image.
 
@@ -2151,7 +2154,7 @@
         passes <option>--force</option>, the authentication and
         authorization requirements are ignored, and the remote lock is
         broken.</para>
-        
+
       <para>Of course, simply breaking a lock may not be enough.  In
         the running example, Sally may not only want to break Harry's
         long-forgotten lock, but re-lock the file for her own use.
@@ -2210,7 +2213,7 @@
 
         <sidebar>
           <title>Locking Policies</title>
-        
+
           <para>Different systems have different notions of how strict
             a lock should be.  Some folks argue that locks must be
             strictly enforced at all costs, releasable only by the
@@ -2263,7 +2266,7 @@
         Regardless, her changes aren't mergeable with Harry's.  One of
         these two people has to throw away their work, and a lot of
         time has been wasted.</para>
-      
+
       <para>Subversion's solution to this problem is provide a
         mechanism to remind users that a file ought to be locked
         <emphasis>before</emphasis> the editing begins.</para>
@@ -2276,7 +2279,7 @@
         the lock is released—either explicitly unlocked, or
         released via commit—the file returns to read-only
         again.</para>
-      
+
       <para>The theory, then, is that if the image file has this
         property attached, then Sally would immediately notice
         something is strange when she opens the file for editing.  Her
@@ -2392,7 +2395,7 @@
       Frabnaggilywort releases a 1.0 version, and is downloaded and
       used daily by hordes of people aiming to improve their
       lives.</para>
-    
+
     <para>It's a nice story, really, but it doesn't end there.
       Entrepreneur that you are, you've already got another think in
       the tank.  So you make a new directory,
@@ -2452,23 +2455,45 @@
       sorts, and we know <emphasis>exactly</emphasis> where to
       go.</para>
 
-    <para>Subversion performs a fairly straightforward algorithm when
-      using peg and operative revisions to find real stuff to work on.
-      First, the path associated with the peg revision is located in
-      that revision in the repository.  From there, Subversion begins
-      stepping backwards through historical predecessors of the object
-      located at that path and peg revision.  Each of these
-      predecessors represents an earlier version of the object, and
-      each stores a record of which revision it was created in, and at
-      what path.  So, while traversing the set of predecessors,
-      Subversion notices whenever one of them is the youngest version
-      of the object to exist as of one of the operative revisions, and
-      if so, maps that operative revision to the created path/created
-      revision pair of the predecessor.  The algorithm terminates
-      either when all the operative revisions have been mapped to real
-      object locations, or once there are no more predecessors to
-      traverse, in which case any unmapped operative revisions are
-      marked as invalid for the object being operated on.</para>
+    <sidebar>
+      <title>The "peg-revision" algorithm</title>
+      
+      <para>When the commandline client sees a command of the
+        form:</para>
+
+      <screen>
+$ svn <replaceable>command</replaceable> -r <replaceable>OPERATIVE-REV</replaceable> item@<replaceable>PEG-REV</replaceable>
+</screen>
+      
+      <para>...it performs the following algorithm:</para>
+
+      <itemizedlist>
+        
+        <listitem>
+          <para>Go to revision <replaceable>PEG-REV</replaceable>, and
+          find <replaceable>item</replaceable>.  This locates a unique
+          object in the repository.</para>
+        </listitem>
+
+        <listitem>
+          <para>Trace the object's history backwards (through any
+            possible renames) to its ancestor in
+            revision <replaceable>OPERATIVE-REV</replaceable>.</para>
+        </listitem>
+
+        <listitem>
+          <para>Perform the requested action on that ancestor,
+            wherever it is located, or whatever its name might
+            be.</para>
+        </listitem>
+
+      </itemizedlist>
+
+      <para>Remember that even when you don't explicitly supply a
+        peg-revision, it's still present.  It defaults to BASE for
+        working copy items, and to HEAD for URLs.</para>
+        
+    </sidebar>
 
     <para>Say that long ago we created our repository, and in revision 1
       added our first <filename>concept</filename> directory, plus an
@@ -2493,7 +2518,7 @@
       revision, you run:</para>
 
     <screen>
-$ svn cat -r 1 concept/IDEA 
+$ svn cat -r 1 concept/IDEA
 subversion/libsvn_client/ra.c:775: (apr_err=20014)
 svn: Unable to find repository location for 'concept/IDEA' in revision 1
 </screen>
@@ -2565,8 +2590,8 @@
 $ svn diff -r 4:10 http://svn.red-bean.com/projects/frabnaggilywort/IDEA@20
 Index: frabnaggilywort/IDEA
 ===================================================================
---- frabnaggilywort/IDEA	(revision 4)
-+++ frabnaggilywort/IDEA	(revision 10)
+--- frabnaggilywort/IDEA  (revision 4)
++++ frabnaggilywort/IDEA  (revision 10)
 @@ -1,5 +1,5 @@
 -The idea behind this project is to come up with a piece of software
 -that can frab a naggily wort.  Frabbing naggily worts is tricky
@@ -2591,7 +2616,7 @@
   <!-- ================================================================= -->
   <sect1 id="svn.advanced.externals">
     <title>Externals Definitions</title>
-    
+
     <para>Sometimes it is useful to construct a working copy that is
       made out of a number of different checkouts.  For example, you
       may want different subdirectories to come from different
@@ -2611,7 +2636,7 @@
       definitions in groups using the <literal>svn:externals</literal>
       property.  You can create or modify this property using
       <command>svn propset</command> or <command>svn
-      propedit</command> (see <xref linkend="svn.advanced.props.why"/>).  
+      propedit</command> (see <xref linkend="svn.advanced.props.why"/>).
       It can be set on any versioned directory,
       and its value is a multi-line table of subdirectories (relative
       to the versioned directory on which the property is set) and
@@ -2749,7 +2774,7 @@
       This scenario plays itself out all the time—anywhere that
       the information generated by one group of people has a direct
       effect on that which is generated by another group.</para>
- 
+
     <para>For example, software developers might be working on an
       application which makes use of a third-party library.
       Subversion has just such a relationship with the Apache Portable
@@ -2799,7 +2824,7 @@
       your own version control system that contains information
       provided by a third-party entity, or vendor.  Each version of
       the vendor's data that you decide to absorb into your project is
-      called a <firstterm>vendor drop</firstterm>.</para> 
+      called a <firstterm>vendor drop</firstterm>.</para>
 
     <para>Vendor branches provide two key benefits.  First, by storing
       the currently supported vendor drop in your own version control
@@ -2848,7 +2873,7 @@
              -m 'importing initial 1.0 vendor drop'
 …
 </screen>
-    
+
       <para>We now have the current version of the libcomplex source
         code in <filename>/vendor/libcomplex/current</filename>.  Now,
         we tag that version (see <xref linkend="svn.branchmerge.tags" />)
@@ -2858,7 +2883,7 @@
         <filename>calc</filename> project directory.  It is in this
         copied version of the vendor data that we will make our
         customizations.</para>
-    
+
       <screen>
 $ svn copy http://svn.example.com/repos/vendor/libcomplex/current  \
            http://svn.example.com/repos/vendor/libcomplex/1.0      \
@@ -2892,7 +2917,7 @@
         approach the problem from the other direction, applying the
         changes made to libcomplex between versions 1.0 and 1.1 to our
         modified copy of it.</para>
-      
+
       <para>To perform this upgrade, we checkout a copy of our vendor
         branch, and replace the code in the
         <filename>current</filename> directory with the new libcomplex
@@ -3110,7 +3135,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.l10n.understanding">
       <title>Understanding locales</title>
-      
+
       <para>Most modern operating systems have a notion of the
         <quote>current locale</quote>—that is, the region or
         country whose localization conventions are honored.  These
@@ -3244,7 +3269,7 @@
 svn: Can't convert string from 'UTF-8' to native encoding:
 …
 </screen>
-    
+
         <para>Errors like this typically occur when the Subversion
           client has received a UTF-8 string from the repository, but
           not all of the characters in that string can be represented
@@ -3385,7 +3410,7 @@
 # Configure your favorite diff program here.
 DIFF="/usr/local/bin/my-diff-tool"
 
-# Subversion provides the paths we need as the sixth and seventh 
+# Subversion provides the paths we need as the sixth and seventh
 # parameters.
 LEFT=${6}
 RIGHT=${7}
@@ -3407,7 +3432,7 @@
 REM Configure your favorite diff program here.
 SET DIFF="C:\Program Files\Funky Stuff\My Diff Tool.exe"
 
-REM Subversion provides the paths we need as the sixth and seventh 
+REM Subversion provides the paths we need as the sixth and seventh
 REM parameters.
 SET LEFT=%6
 SET RIGHT=%7
@@ -3444,7 +3469,7 @@
         conflicts remain in the output—any other errorcode is
         considered a fatal error.</para>
 
-      <para><xref linkend="svn.advanced.externaldifftools.diff3.ex-1"/> 
+      <para><xref linkend="svn.advanced.externaldifftools.diff3.ex-1"/>
         and <xref linkend="svn.advanced.externaldifftools.diff3.ex-2"/> are
         templates for external merge tool wrappers in the Bourne shell
         and Windows batch scripting languages, respectively.</para>
@@ -3457,7 +3482,7 @@
 # Configure your favorite diff3/merge program here.
 DIFF3="/usr/local/bin/my-merge-tool"
 
-# Subversion provides the paths we need as the ninth, tenth, and eleventh 
+# Subversion provides the paths we need as the ninth, tenth, and eleventh
 # parameters.
 MINE=${9}
 OLDER=${10}
@@ -3482,7 +3507,7 @@
 REM Configure your favorite diff3/merge program here.
 SET DIFF3="C:\Program Files\Funky Stuff\My Merge Tool.exe"
 
-REM Subversion provides the paths we need as the ninth, tenth, and eleventh 
+REM Subversion provides the paths we need as the ninth, tenth, and eleventh
 REM parameters.  But we only have access to nine parameters at a time, so we
 REM shift our nine-parameter window twice to let us get to what we need.
 SHIFT
@@ -3528,7 +3553,7 @@
       repositories) must, in accordance with convention, have either a
       server name of <literal>localhost</literal> or no server name at
       all:</para>
- 
+
     <screen>
 $ svn checkout file:///path/to/repos
 …
@@ -3551,12 +3576,12 @@
 C:\> svn checkout "file:///X|/path/to/repos"
 …
 </screen>
- 
+
     <para>In the second syntax, you need to quote the URL so that the
       vertical bar character is not interpreted as a pipe.  Also, note
       that a URL uses ordinary slashes even though the native
       (non-URL) form of a path on Windows uses backslashes.</para>
-    
+
     <para>Finally, it should be noted that the Subversion client will
       automatically encode URLs as necessary, just like a web browser
       does.  For example, if a URL contains a space or upper-ASCII
@@ -3565,7 +3590,7 @@
     <screen>
 $ svn checkout "http://host/path with space/project/espaц╠a"
 </screen>
-    
+
     <para>…then Subversion will escape the unsafe characters
       and behave as if you had typed:</para>
 
@@ -3578,11 +3603,11 @@
       argument to the <command>svn</command> program.</para>
 
   </sect1>
-  
+
 </chapter>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "chapter")
 end:
 vim: tw=78:ft=svnbook

Modified: trunk/src/ru/book/ch08.xml
==============================================================================
--- trunk/src/ru/book/ch08.xml	(original)
+++ trunk/src/ru/book/ch08.xml	Sat Jul 23 08:39:53 2005
@@ -3,10 +3,13 @@
 
   <!-- @ENGLISH {{{
   <title>Developer Information</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
   <title>Информация для разработчиков</title>
+  <chapterinfo>
+    <edition>1563</edition>
+  </chapterinfo>
   <!-- See also svn.preface.organization -->
-  
+
   <simplesect>
     <para>Subversion is an open-source software project developed
       under an Apache-style software license.  The project is
@@ -17,7 +20,7 @@
       Volunteers are encouraged to assist in any way they can, whether
       that means finding and diagnosing bugs, refining existing source
       code, or fleshing out whole new features.</para>
-    
+
     <para>This chapter is for those who wish to assist in the
       continued evolution of Subversion by actually getting their
       hands dirty with the source code.  We will cover some of the
@@ -59,7 +62,7 @@
         </thead>
         <tbody>
           <row>
-            <entry>libsvn_client</entry> 
+            <entry>libsvn_client</entry>
             <entry>Primary interface for client programs</entry>
           </row>
           <row>
@@ -335,7 +338,7 @@
         library, are not strictly related to implementing a versioning
         filesystem, which is why it was placed into its own
         library.</para>
-      
+
       <para>Developers who wish to use the libsvn_repos API will find
         that it is not a complete wrapper around the filesystem
         interface.  That is, only certain major events in the general
@@ -397,14 +400,14 @@
   /* Now that we have started a new Subversion transaction, get a root
      object that represents that transaction.  */
   SVN_ERR (svn_fs_txn_root (&txn_root, txn, pool));
-  
+
   /* Create our new directory under the transaction root, at the path
      NEW_DIRECTORY.  */
   SVN_ERR (svn_fs_make_dir (txn_root, new_directory, pool));
 
   /* Commit the transaction, creating a new revision of the filesystem
      which includes our added directory path.  */
-  err = svn_repos_fs_commit_txn (&conflict_str, repos, 
+  err = svn_repos_fs_commit_txn (&conflict_str, repos,
                                  &youngest_rev, txn, pool);
   if (! err)
     {
@@ -415,24 +418,24 @@
   else if (err->apr_err == SVN_ERR_FS_CONFLICT)
     {
       /* Uh-oh.  Our commit failed as the result of a conflict
-         (someone else seems to have made changes to the same area 
+         (someone else seems to have made changes to the same area
          of the filesystem that we tried to modify).  Print an error
          message.  */
       printf ("A conflict occurred at path '%s' while attempting "
-              "to add directory '%s' to the repository at '%s'.\n", 
+              "to add directory '%s' to the repository at '%s'.\n",
               conflict_str, new_directory, repos_path);
     }
   else
     {
       /* Some other error has occurred.  Print an error message.  */
       printf ("An error occurred while attempting to add directory '%s' "
-              "to the repository at '%s'.\n", 
+              "to the repository at '%s'.\n",
               new_directory, repos_path);
     }
 
   /* Return the result of the attempted commit to our caller.  */
   return err;
-} 
+}
 </programlisting>
       </example>
 
@@ -456,7 +459,7 @@
         belong in the core filesystem library itself.  (For more
         information regarding Subversion's repository hooks, see <xref
         linkend="svn.reposadmin.create.hooks" />.)</para>
-      
+
       <para>The hook mechanism requirement is but one of the reasons
         for the abstraction of a separate repository library from the
         rest of the filesystem code.  The libsvn_repos API provides
@@ -521,7 +524,7 @@
         determine which RA modules are available to the Subversion
         command-line client, and what protocols they claim to support,
         by running <command>svn --version</command>:</para>
-     
+
       <screen>
 $ svn --version
 svn, version 1.0.1 (r9023)
@@ -541,7 +544,7 @@
 * ra_svn : Module for accessing a repository using the svn network protocol.
   - handles 'svn' schema
 </screen>
-    
+
       <sect3 id="svn.developer.layerlib.ra.dav">
         <title>RA-DAV (Repository Access Using HTTP/DAV)</title>
 
@@ -554,7 +557,7 @@
           other key components in this particular configuration of the
           Repository Access Layer—the powerful Apache HTTP
           Server, and the Neon HTTP/WebDAV client library.</para>
-  
+
         <para>Subversion's primary network server is the Apache HTTP
           Server.  Apache is a time-tested, extensible open-source
           server process that is ready for serious use.  It can
@@ -568,7 +571,7 @@
           traffic to pass through, sysadmins typically don't even have
           to change their firewall configurations to allow Subversion
           to work.</para>
-  
+
         <para>Subversion uses HTTP and WebDAV (with DeltaV) to
           communicate with an Apache server.  You can read more about
           this in the WebDAV section of this chapter, but in short,
@@ -599,7 +602,7 @@
           mod_dav_fs that comes with Apache.  So ultimately, the
           client is communicating with mod_dav_svn, which binds
           directly to the Subversion Repository Layer.</para>
-  
+
         <para>That was a simplified description of the actual
           exchanges taking place, though.  For example, the Subversion
           repository might be protected by Apache's authorization
@@ -615,9 +618,9 @@
           well.  If sufficient authentication information cannot be
           supplied, the request will ultimately fail, and the client
           will report the failure to the user.</para>
-  
+
         <!-- A diagram here? -->
-  
+
         <para>By using Neon and Apache, Subversion gets free
           functionality in several other complex areas, too.  For
           example, if Neon finds the OpenSSL libraries, it allows the
@@ -633,7 +636,7 @@
           (for example, when a repository has been moved to a new
           canonical URL) and taking advantage of HTTP
           pipelining.</para>
-  
+
         <!-- Talk about another difference between CVS and Subversion.
              CVS users had to specify which auth mechanism to use
              (with :ext: vs. :pserver:) and whether or not to use
@@ -723,7 +726,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.developer.layerlib.client">
       <title>Client Layer</title>
-      
+
       <para>On the client side, the Subversion working copy is where
         all the action takes place.  The bulk of functionality
         implemented by the client-side libraries exists for the sole
@@ -922,7 +925,7 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.developer.usingapi.otherlangs">
-      <title>Using Languages Other than C and C++</title> 
+      <title>Using Languages Other than C and C++</title>
 
       <para>If you are interested in using the Subversion libraries in
         conjunction with something other than a C program—say a
@@ -969,12 +972,12 @@
 
 def crawl_filesystem_dir(root, directory, pool):
     """Recursively crawl DIRECTORY under ROOT in the filesystem, and return
-    a list of all the paths at or below DIRECTORY.  Use POOL for all 
+    a list of all the paths at or below DIRECTORY.  Use POOL for all
     allocations."""
 
     # Print the name of this path.
     print directory + "/"
-    
+
     # Get the directory entries for DIRECTORY.
     entries = svn.fs.svn_fs_dir_entries(root, directory, pool)
 
@@ -1005,7 +1008,7 @@
 def crawl_youngest(pool, repos_path):
     """Open the repository at REPOS_PATH, and recursively crawl its
     youngest revision."""
-    
+
     # Open the repository at REPOS_PATH, and get a reference to its
     # versioning filesystem.
     repos_obj = svn.repos.svn_repos_open(repos_path, pool)
@@ -1013,13 +1016,13 @@
 
     # Query the current youngest revision.
     youngest_rev = svn.fs.svn_fs_youngest_rev(fs_obj, pool)
-    
+
     # Open a root object representing the youngest (HEAD) revision.
     root_obj = svn.fs.svn_fs_revision_root(fs_obj, youngest_rev, pool)
 
     # Do the recursive crawl.
     crawl_filesystem_dir(root_obj, "", pool)
-    
+
 if __name__ == "__main__":
     # Check for sane usage.
     if len(sys.argv) != 2:
@@ -1115,7 +1118,7 @@
         text_status = generate_status_code(status.text_status)
         prop_status = generate_status_code(status.prop_status)
         print '%s%s  %s' % (text_status, prop_status, path[wc_path_len + 1:])
-        
+
     # Do the status crawl, using _status_callback() as our callback function.
     svn.client.svn_client_status(wc_path, None, _status_callback,
                                  1, verbose, 0, 0, ctx, pool)
@@ -1129,7 +1132,7 @@
   --verbose, -v : Show all statuses, even uninteresting ones
 """ % (os.path.basename(sys.argv[0])))
     sys.exit(errorcode)
-    
+
 if __name__ == '__main__':
     # Parse command-line options.
     try:
@@ -1144,7 +1147,7 @@
             verbose = 1
     if len(args) != 1:
         usage_and_exit(2)
-            
+
     # Call the app-wrapper, which takes care of APR initialization/shutdown
     # and the creation and cleanup of our top-level memory pool.
     svn.core.run_app(do_status, os.path.normpath(args[0]), verbose)
@@ -1173,7 +1176,7 @@
   <!-- ================================================================= -->
   <sect1 id="svn.developer.insidewc">
     <title>Inside the Working Copy Administration Area</title>
-    
+
     <para>As we mentioned earlier, each directory of a Subversion
       working copy contains a special subdirectory called
       <filename>.svn</filename> which houses administrative data about
@@ -1490,7 +1493,7 @@
    children to the FILES array, and doing some task to each path
    encountered.  Use POOL for the all temporary allocations, and store
    the hash paths in the same pool as the hash itself is allocated in.  */
-static apr_status_t 
+static apr_status_t
 crawl_dir (apr_array_header_t *files,
            const char *directory,
            apr_pool_t *pool)
@@ -1582,7 +1585,7 @@
       complexity that would be present if this function had to
       <function>alloc()</function> and <function>free()</function>
       every single piece of data used!</para>
-    
+
     <para>Pools might not be ideal for every application, but they are
       extremely useful in Subversion.  As a Subversion developer,
       you'll need to grow comfortable with pools and how to wield them
@@ -1598,7 +1601,7 @@
   <!-- ================================================================= -->
   <sect1 id="svn.developer.contrib">
     <title>Contributing to Subversion</title>
-    
+
     <para>The official source of information about the Subversion
       project is, of course, the project's website at <systemitem
       class="url">http://subversion.tigris.org/</systemitem>.  There
@@ -1612,7 +1615,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.developer.contrib.join">
       <title>Join the Community</title>
-      
+
       <para>The first step in community participation is to find a way
         to stay on top of the latest happenings.  To do this most
         effectively, you will want to subscribe to the main developer
@@ -1640,13 +1643,13 @@
         will find the current list of known bugs and feature requests.
         If you want to start with something small, look for issues
         marked as <quote>bite-sized</quote>.</para>
-      
+
     </sect2>
-    
+
     <!-- =============================================================== -->
     <sect2 id="svn.developer.contrib.get-code">
       <title>Get the Source Code</title>
-      
+
       <para>To edit the code, you need to have the code.  This means
         you need to check out a working copy from the public
         Subversion source repository.  As straightforward as that
@@ -1699,7 +1702,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.developer.contrib.hacking">
       <title>Become Familiar with Community Policies</title>
-      
+
       <para>Now that you have a working copy containing the latest
         Subversion source code, you will most certainly want to take a
         cruise through the <filename>HACKING</filename> file in that
@@ -1730,7 +1733,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.developer.contrib.code-and-test">
       <title>Make and Test Your Changes</title>
-      
+
       <para>With the code and community policy understanding in hand,
         you are ready to make your changes.  It is best to try to make
         smaller but related sets of changes, even tackling larger
@@ -1780,7 +1783,7 @@
     <!-- =============================================================== -->
     <sect2 id="svn.developer.contrib.submit">
       <title>Donate Your Changes</title>
-      
+
       <para>After making your modifications to the source code,
         compose a clear and concise log message to describe those
         changes and the reasons for them.  Then, send an email to the
@@ -1801,7 +1804,7 @@
 </chapter>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "chapter")
 end:
 vim: tw=78:ft=svnbook

Modified: trunk/src/ru/book/ch09.xml
==============================================================================
--- trunk/src/ru/book/ch09.xml	(original)
+++ trunk/src/ru/book/ch09.xml	Sat Jul 23 08:39:53 2005
@@ -5,6 +5,9 @@
   <title>Subversion Complete Reference</title>
 @ENGLISH }}} -->
   <title>Полное справочное руководство по Subversion</title>
+  <chapterinfo>
+    <edition>1530</edition>
+  </chapterinfo>
   <!-- See also svn.preface.organization -->
 
 <!-- @ENGLISH {{{

Modified: trunk/src/ru/book/foreword.xml
==============================================================================
--- trunk/src/ru/book/foreword.xml	(original)
+++ trunk/src/ru/book/foreword.xml	Sat Jul 23 08:39:53 2005
@@ -7,7 +7,10 @@
 <preface id="svn.foreword">
   <!-- @ENGLISH {{{
   <title>Foreword</title>
-  @ ENGLISH }}} -->
+  @ENGLISH }}} -->
+  <prefaceinfo>
+    <edition>1563</edition>
+  </prefaceinfo>
   <title>Предисловие</title>
 
   <simplesect>
@@ -17,11 +20,11 @@
       composed not of the questions people actually asked, but of the
       questions the FAQ's author <emphasis>wished</emphasis> people
       had asked.  Perhaps you've seen the type before:</para>
-    @ ENGLISH }}} -->
-    <para>Скверный список ответов на часто задаваемые вопросы (ЧаВо) 
+    @ENGLISH }}} -->
+    <para>Скверный список ответов на часто задаваемые вопросы (ЧаВо)
       состоит не из тех вопросов, которые были заданы на самом деле,
-      а из тех, на которые автору такого списка <emphasis>хотелось 
-        бы</emphasis> дать ответ. Вы наверняка сталкивались с чем-то 
+      а из тех, на которые автору такого списка <emphasis>хотелось
+        бы</emphasis> дать ответ. Вы наверняка сталкивались с чем-то
       подобным:</para>
 
     <!-- @ENGLISH {{{
@@ -29,9 +32,9 @@
       <para>Q: How can I use Glorbosoft XYZ to maximize team
         productivity?</para>
     </blockquote>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <blockquote>
-      <para>ВОПРОС: Как Glorbosoft XYZ поможет поднять 
+      <para>ВОПРОС: Как Glorbosoft XYZ поможет поднять
         производительность труда наших сотрудников?</para>
     </blockquote>
 
@@ -44,12 +47,12 @@
         <quote><literal>Increase Productivity</literal></quote>,
         then…</para>
     </blockquote>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <blockquote>
-      <para>ОТВЕТ: Многие наши клиенты хотят знать, как поднять 
-        производительность труда при помощи наших патентованных офисных 
-        инноваций для коллективной работы. Ответ простой: выберите меню 
-        <quote><literal>Файл</literal></quote> и перейдите к пункту 
+      <para>ОТВЕТ: Многие наши клиенты хотят знать, как поднять
+        производительность труда при помощи наших патентованных офисных
+        инноваций для коллективной работы. Ответ простой: выберите меню
+        <quote><literal>Файл</literal></quote> и перейдите к пункту
           <quote><literal>Поднять производительность</literal></quote>,
         затем…</para>
     </blockquote>
@@ -71,24 +74,24 @@
       observant attitude of a field naturalist.  No grand
       hypothesizing, no visionary pronouncements here—open eyes
       and accurate note-taking are what's needed most.</para>
-    @ ENGLISH }}} -->
-    <para>Проблема подобных ЧаВо заключается в том, что они вовсе не 
-      являются ответами на <emphasis>часто задаваемые</emphasis> вопросы 
-      в буквальном смысле. Какой нормальный человек будет звонить в 
-      службу технической поддержки и спрашивать: <quote>как нам поднять 
-        производительность труда</quote>? Вопросы, которые обычно звучат 
-      в таких случаях, узко специализированы, например: <quote>Как 
+    @ENGLISH }}} -->
+    <para>Проблема подобных ЧаВо заключается в том, что они вовсе не
+      являются ответами на <emphasis>часто задаваемые</emphasis> вопросы
+      в буквальном смысле. Какой нормальный человек будет звонить в
+      службу технической поддержки и спрашивать: <quote>как нам поднять
+        производительность труда</quote>? Вопросы, которые обычно звучат
+      в таких случаях, узко специализированы, например: <quote>Как
         настроить календарь для отправки напоминаний за два дня вместо
-        одного?</quote>. Однако, создать список якобы заданных вопросов 
-      намного проще, чем подобрать настоящие вопросы из реальной жизни. 
-      Такая работа требует упорства и организованности: вопросы, 
-      возникающие в процессе жизненного цикла программного продукта, и 
-      ответы на них должны бережно сохраняться и систематизироваться, 
-      пока на их основе не будет создано логически связанное и удобное 
-      для поиска единое целое, наилучшим образом отражающее опыт 
-      пользователей. Здесь требуется терпеливость и внимательность, 
-      присущие естествоиспытателю, а не великие гипотезы и провидческие 
-      заявления. Главное в этой работе—открытые глаза и 
+        одного?</quote>. Однако, создать список якобы заданных вопросов
+      намного проще, чем подобрать настоящие вопросы из реальной жизни.
+      Такая работа требует упорства и организованности: вопросы,
+      возникающие в процессе жизненного цикла программного продукта, и
+      ответы на них должны бережно сохраняться и систематизироваться,
+      пока на их основе не будет создано логически связанное и удобное
+      для поиска единое целое, наилучшим образом отражающее опыт
+      пользователей. Здесь требуется терпеливость и внимательность,
+      присущие естествоиспытателю, а не великие гипотезы и провидческие
+      заявления. Главное в этой работе—открытые глаза и
       аккуратное отношение к записям в блокноте.</para>
 
     <!-- @ENGLISH {{{
@@ -100,15 +103,15 @@
       What are the standard workflows to use with Subversion?  Do
       branches and tags work the same way as in other version control
       systems?  How can I find out who made a particular change?</para>
-    @ ENGLISH }}} -->
-    <para>В этой книге мне больше всего нравится то, что она именно так 
+    @ENGLISH }}} -->
+    <para>В этой книге мне больше всего нравится то, что она именно так
       и была написана, и это заметно на каждой её странице. Она является
-      непосредственным результатом общения авторов с пользователями. 
-      Книга началась с того, что Бен Коллинз-Сассман как-то раз заметил 
-      в рассылке Subversion, что пользователи всё время задают одни и те 
-      же вопросы: какого порядка действий следует придерживаться при 
-      работе с Subversion; есть ли отличия от других систем управления 
-      версиями при работе с ветками и метками; как узнать, кем было 
+      непосредственным результатом общения авторов с пользователями.
+      Книга началась с того, что Бен Коллинз-Сассман как-то раз заметил
+      в рассылке Subversion, что пользователи всё время задают одни и те
+      же вопросы: какого порядка действий следует придерживаться при
+      работе с Subversion; есть ли отличия от других систем управления
+      версиями при работе с ветками и метками; как узнать, кем было
       выполнено то или иное изменение?</para>
 
     <!-- @ENGLISH {{{
@@ -122,16 +125,16 @@
       publish a full-length Subversion book, the path of least
       resistance was obvious: just expand the Subversion
       handbook.</para>
-    @ ENGLISH }}} -->
-    <para>Устав от ежедневного просмотра одних и тех же вопросов, Бен 
-      провёл месяц в напряжённой работе, и летом 2002 года появилось 
-      <citetitle>Руководство по Subversion</citetitle>—документ, в 
-      котором на 60 страницах описывались все основные приёмы работы с 
-      Subversion. Это руководство не претендовало на полноту, но оно 
-      было включено в поставку Subversion и помогало преодолеть 
-      начинающим пользователям первые трудности, с которыми они 
-      сталкивались. После того, как издательство O'Reilly and Associates 
-      решило выпустить полноценную книгу о Subversion, путь наименьшего 
+    @ENGLISH }}} -->
+    <para>Устав от ежедневного просмотра одних и тех же вопросов, Бен
+      провёл месяц в напряжённой работе, и летом 2002 года появилось
+      <citetitle>Руководство по Subversion</citetitle>—документ, в
+      котором на 60 страницах описывались все основные приёмы работы с
+      Subversion. Это руководство не претендовало на полноту, но оно
+      было включено в поставку Subversion и помогало преодолеть
+      начинающим пользователям первые трудности, с которыми они
+      сталкивались. После того, как издательство O'Reilly and Associates
+      решило выпустить полноценную книгу о Subversion, путь наименьшего
       сопротивления был очевиден: нужно было просто расширить
       <citetitle>Руководство по Subversion</citetitle>.</para>
 
@@ -145,16 +148,16 @@
       thousands of early adopters, and those users were giving tons of
       feedback, not only about Subversion, but about its existing
       documentation.</para>
-    @ ENGLISH }}} -->
-    <para>Таким образом, три соавтора новой книги получили необычную 
-      возможность. С одной стороны, перед ними была поставлена задача 
-      написать книгу в обычном смысле слова, от автора к читателю, 
-      начиная с содержания и первого черновика. Но, с другой стороны, у 
-      них также была возможность обращаться у устойчивому 
-      потоку—да что там говорить, к неуправляемому 
-      фонтану—материалу, поступающему от будущих читателей. 
-      Subversion уже был в то время в руках тысяч первых пользователей, 
-      которые давали множество отзывов не только о самом Subversion, но 
+    @ENGLISH }}} -->
+    <para>Таким образом, три соавтора новой книги получили необычную
+      возможность. С одной стороны, перед ними была поставлена задача
+      написать книгу в обычном смысле слова, от автора к читателю,
+      начиная с содержания и первого черновика. Но, с другой стороны, у
+      них также была возможность обращаться у устойчивому
+      потоку—да что там говорить, к неуправляемому
+      фонтану—материалу, поступающему от будущих читателей.
+      Subversion уже был в то время в руках тысяч первых пользователей,
+      которые давали множество отзывов не только о самом Subversion, но
       и о документации к нему.</para>
 
     <!-- @ENGLISH {{{
@@ -178,28 +181,28 @@
       with the unexpected, the examples honed from genuine use cases,
       and most of all the sensitivity to the user's needs and the
       user's point of view.</para>
-    @ ENGLISH }}} -->
-    <para>Пока шла работа над книгой, Бен, Майк и Брайан постоянно 
-      отслеживали рассылки и чаты, скрупулёзно отмечая проблемы, с 
+    @ENGLISH }}} -->
+    <para>Пока шла работа над книгой, Бен, Майк и Брайан постоянно
+      отслеживали рассылки и чаты, скрупулёзно отмечая проблемы, с
       которыми пользователи сталкивались в реальных жизненных ситуациях.
-      Мониторинг подобных отзывов входит в их служебные обязанности в 
-      CollabNet, но в данном случае эта работа оказалась неоценимой при 
-      подготовке документации к Subversion. В основу написанной ими 
-      книги положен твёрдый фундамент опыта, а не зыбучие пески принятия 
-      желаемого за действительное; в этой книге соединяются лучшие 
-      качества руководства пользователя и списка ЧаВо. Эта 
-      двойственность может быть незаметна при первом прочтении книги.  
-      При чтении книги по порядку, от корки до корки, создаётся 
-      ощущение, что перед нами прямолинейное описание программного 
-      продукта. Нам предлагают общий обзор, непременный в таких случаях 
-      вводный курс, главу по администрированию, несколько тем для 
-      продвинутых пользователей и, само собой, справочник по командам и  
-      способы устранения проблем.  Лишь возвращаясь к этой книге снова и 
-      снова, вы сможете оценить её самобытность: отличительные 
-      подробности, которые могут появиться лишь при встрече с 
-      неожиданными ситуациями, примеры, взятые из жизни и, самое 
-      главное, внимательность к нуждам пользователей и их точке 
-      зрения.</para> 
+      Мониторинг подобных отзывов входит в их служебные обязанности в
+      CollabNet, но в данном случае эта работа оказалась неоценимой при
+      подготовке документации к Subversion. В основу написанной ими
+      книги положен твёрдый фундамент опыта, а не зыбучие пески принятия
+      желаемого за действительное; в этой книге соединяются лучшие
+      качества руководства пользователя и списка ЧаВо. Эта
+      двойственность может быть незаметна при первом прочтении книги.
+      При чтении книги по порядку, от корки до корки, создаётся
+      ощущение, что перед нами прямолинейное описание программного
+      продукта. Нам предлагают общий обзор, непременный в таких случаях
+      вводный курс, главу по администрированию, несколько тем для
+      продвинутых пользователей и, само собой, справочник по командам и
+      способы устранения проблем.  Лишь возвращаясь к этой книге снова и
+      снова, вы сможете оценить её самобытность: отличительные
+      подробности, которые могут появиться лишь при встрече с
+      неожиданными ситуациями, примеры, взятые из жизни и, самое
+      главное, внимательность к нуждам пользователей и их точке
+      зрения.</para>
 
     <!-- @ENGLISH {{{
     <para>Of course, no one can promise that this book will answer
@@ -220,32 +223,32 @@
       because you can help them.  With Subversion as with all active
       free software projects, <emphasis>you are not
       alone</emphasis>.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Конечно, никто не может пообещать, что эта книга ответит на
-      все ваши вопросы о Subversion. Иногда точность, с которой книга 
-      предвосхищает ваши вопросы, может показаться телепатической, но 
-      вполне может случиться и так, что вы столкнётесь с пробелом в 
-      коллективном знании сообщества и уйдёте с пустыми руками. Лучшее,  
-      что можно сделать в такой ситуации—отправить письмо на адрес 
-      <email>users at subversion.tigris.org</email> с описанием вашей 
-      проблемы. Авторы по-прежнему читают эту рассылку, они внимательно 
-      наблюдают за вопросами, и, кроме того, сообщество пользователей не 
-      ограничивается тремя людьми, имена которых вынесены на обложку 
-      этой книги—многие подписчики рассылки также помогают вносить 
-      исправления и предлагают новый материал для книги. С точки зрения 
-      сообщества, решение вашей конкретной проблемы—это лишь 
-      приятный побочный эффект значительно более обширного проекта, а 
-      именно, постепенного исправления данной книги и самого Subversion 
-      с тем, чтобы как можно ближе соответствовать практике. Эти люди с 
-      удовольствием выслушают вас не только потому, что могут помочь, но 
-      и потому, что вы можете помочь им. При работе с Subversion, как и  
-      с любым другим бурно развивающимся свободным программным 
-      обеспечением, <emphasis>вы не будете чувствовать себя 
+      все ваши вопросы о Subversion. Иногда точность, с которой книга
+      предвосхищает ваши вопросы, может показаться телепатической, но
+      вполне может случиться и так, что вы столкнётесь с пробелом в
+      коллективном знании сообщества и уйдёте с пустыми руками. Лучшее,
+      что можно сделать в такой ситуации—отправить письмо на адрес
+      <email>users at subversion.tigris.org</email> с описанием вашей
+      проблемы. Авторы по-прежнему читают эту рассылку, они внимательно
+      наблюдают за вопросами, и, кроме того, сообщество пользователей не
+      ограничивается тремя людьми, имена которых вынесены на обложку
+      этой книги—многие подписчики рассылки также помогают вносить
+      исправления и предлагают новый материал для книги. С точки зрения
+      сообщества, решение вашей конкретной проблемы—это лишь
+      приятный побочный эффект значительно более обширного проекта, а
+      именно, постепенного исправления данной книги и самого Subversion
+      с тем, чтобы как можно ближе соответствовать практике. Эти люди с
+      удовольствием выслушают вас не только потому, что могут помочь, но
+      и потому, что вы можете помочь им. При работе с Subversion, как и
+      с любым другим бурно развивающимся свободным программным
+      обеспечением, <emphasis>вы не будете чувствовать себя
         одиноким</emphasis>.</para>
 
     <!-- @ENGLISH {{{
     <para>Let this book be your first companion.</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
     <para>Пусть эта книга будет вашим верным помощником.</para>
 
     <!-- @ENGLISH {{{
@@ -254,7 +257,7 @@
         <firstname>Karl</firstname>
         <surname>Fogel</surname>
       </author>, Chicago, 14 March, 2004</para>
-    @ ENGLISH }}} -->
+    @ENGLISH }}} -->
 
     <para>—
       <author>

Modified: trunk/src/ru/sync.py
==============================================================================
--- trunk/src/ru/sync.py	(original)
+++ trunk/src/ru/sync.py	Sat Jul 23 08:39:53 2005
@@ -1,55 +1,91 @@
 #!/usr/bin/env python
 
-import sys, os, string
-
-subcmd = ("diff", "di", "log", "merge")
+import sys, os, string, getopt, re, glob
 
 def usage(err_msg):
   stream = err_msg and sys.stderr or sys.stdout
   if err_msg:
     stream.write("ERROR: %s\n\n" % (err_msg))
-  stream.write("""Usage: %(name)s <subcommand> [filename]
-
-Valid subcommands: %(valid_subcmd)s
+  stream.write("""Usage: %s [-f <filename>] [-lv]
 
-Examples:
-   %(name)s log book/foreword.xml
-   %(name)s diff
-""" % { 'name' : os.path.basename(sys.argv[0]), 'valid_subcmd' : subcmd })
+Options:
+    -f:    File which needs to be synchronized
+    -l:    List all files and revisions with which they are sinchronized
+    -v:    Print incorporated revision number of the book (for use in Makefile)
+""" % (os.path.basename(sys.argv[0])))
   sys.exit(err_msg and 1 or 0)
 
-def main():
+def get_last(fname):
+  f = file(fname)
+  for line in f:
+    if re.search('<edition>([0-9]+)</edition>', line):
+      return int(re.sub(' *</*[a-z]*>', '', line))
+
+def set_last(fname, last):
+  f = file(fname)
+  tf = file(fname+'.temp', 'w')
+  for line in f:
+    if re.search('<edition>([0-9]+)</edition>', line):
+      tf.write(re.sub('<edition>([0-9]+)</edition>', '<edition>'+last+'</edition>', line))
+    else:
+      tf.write(line)
+  f.close()
+  tf.close()
+  os.rename(fname+'.temp', fname)
+
+def get_base():
+  for line in os.popen('svn info'):
+    if re.match('Revision: ', line):
+      return int(re.sub('Revision: ', '', line))
+
+def get_list():
+  fnames = glob.glob('*.xml')
+  fnames.sort()
+  for file in fnames:
+    print file, '\t', get_last(file)
+
+def get_version():
+  fnames = glob.glob('*.xml')
+  rev = []
+  for file in fnames:
+    r = get_last(file)
+    if r:
+      rev.append(r)
+  r_max = max(rev)
+  r_min = min(rev)
+  if r_max == r_min:
+    sys.stdout.write(str(r_max))
+  else:
+    sys.stdout.write(str(r_min)+':'+str(r_max))
 
+def main():
   if len(sys.argv) < 2:
     usage(None)
-
-  if not sys.argv[1] in subcmd:
-    usage("Invalid syntax")
-
-  book_src_url = "https://svn.red-bean.com/svnbook/trunk/src/en/book/"
-  fd = open("LAST_UPDATED", "r")
-  last_up_rev = fd.readline()
-  fd.close()
-
-  print "svn update"
-  os.system("svn update")
-  os.chdir("book")
-
-  if len(sys.argv) > 2:
-    cmd = "svn " + sys.argv[1] + " -r " + last_up_rev + ":HEAD " + book_src_url + \
-          os.path.basename(sys.argv[2])
-    print cmd
-    os.system(cmd)
-  else:
-    cmd = "svn " + sys.argv[1] + " -r " + last_up_rev + ":HEAD " + book_src_url
-    print cmd
-    os.system(cmd)
-    if sys.argv[1] == 'merge':
-      if string.lower(raw_input("Whether to udate 'LAST_UPDATED'? [y/N] ")) == 'y':
-        os.chdir("..")
-        cmd = "svnversion . --no-newline > LAST_UPDATED"
-        print cmd
-        os.system(cmd)
+  os.chdir('book')
+  try:
+    opts, args = getopt.getopt(sys.argv[1:], "f:lv")
+  except:
+    usage('Invalid syntax')
+  fname = ''
+  for o, a in opts:
+    if o == '-f':
+      fname =  os.path.basename(a)
+    elif o == '-l':
+      return get_list()
+    elif o == '-v':
+      return get_version()
+  cmd = string.Template('svn $a -r $r1:$r2 https://svn.red-bean.com/svnbook/trunk/src/en/book/$t')
+  last = get_last(fname)
+  base = get_base()
+  print ('########################################################################')
+  print 'Sync r%(r1)s:r%(r2)s' % { 'r1' :  last, 'r2' : base }
+  diff = os.popen(cmd.substitute(a='diff', r1=last, r2=base, t=fname)).read()
+  if len(diff) != 0:
+    print os.popen(cmd.substitute(a='log', r1=last, r2=base, t=fname)).read()
+    raw_input('Above is log message, to see diff press ENTER')
+    print diff
+    print os.popen(cmd.substitute(a='merge', r1=last, r2=base, t=fname)).read()
+  set_last(fname, str(base))
 
 if __name__ == "__main__":
     main()



More information about the svnbook-dev mailing list