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

dmitriy svnbook-dev at red-bean.com
Sun May 29 04:30:19 CDT 2005


Author: dmitriy
Date: Sun May 29 04:30:18 2005
New Revision: 1369

Added:
   trunk/src/ru/LAST_UPDATED
   trunk/src/ru/book/ruGlossary.xml
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/appd.xml
   trunk/src/ru/book/book.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/copyright.xml
   trunk/src/ru/book/foreword.xml
   trunk/src/ru/book/images/ch01dia1.png
   trunk/src/ru/book/images/ch02dia1.png
Log:
Remapping of ids to symbolic forms.

The book is synchronized with en/ (with revision specified
in a file LAST_UPDATED).

Russian translation is added.

* book/foreword.xml
* book/book.xml
* book/ch00.xml
* book/ch01.xml
* book/images/ch01dia1.png
* book/images/ch02dia1.png
  Translated on Russian

* LAST_UPDATED
* book/ruGlossary.xml
  Added

* Makefile
  Added:
  - the rule for synchronization with en/;
  - options for FOP which give a paper of size A4 in a pdf-file;
  - rule 'default', which at start 'make' without options
    in a directory ru/ creates the book in format 'html-chunk';
  - a rule which gives 'tar.gz' with the book in format 'html-chunk'.

* book/appa.xml
* book/appb.xml
* book/appc.xml
* book/appd.xml
* book/ch02.xml
* book/ch03.xml
* book/ch04.xml
* book/ch05.xml
* book/ch06.xml
* book/ch07.xml
* book/ch08.xml
* book/ch09.xml
* book/copyright.xml
  Remapping of ids


Modified: trunk/src/ru/Makefile
==============================================================================
--- trunk/src/ru/Makefile	(original)
+++ trunk/src/ru/Makefile	Sun May 29 04:30:18 2005
@@ -1 +1,22 @@
+default: book-html-chunk
+
 include ../tools/Makefile.base
+
+BOOK_FO_XSLTPROC_OPTS = --stringparam paper.type A4
+
+sync:
+	mkdir sync.LOCK
+	svn update
+	svn status -q
+	@echo
+	@echo Note local changes and press ENTER...
+	@read
+	svnversion . > HEADREV
+	svn merge -r$$(cat LAST_UPDATED):$$(cat HEADREV) \
+			https://svn.red-bean.com/svnbook/trunk/src/en/
+	@echo
+	mv HEADREV LAST_UPDATED
+	rmdir sync.LOCK
+
+dist-html-chunk:
+	../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	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<appendix id="svn-ap-a">
+<appendix id="svn.forcvs">
   <title>Subversion for CVS Users</title>
 
   <simplesect>
@@ -21,7 +21,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-1">
+  <sect1 id="svn.forcvs.revnums">
     <title>Revision Numbers Are Different Now</title>
 
     <para>In CVS, revision numbers are per-file.  This is because CVS
@@ -48,14 +48,14 @@
       6.</para>
 
     <para>For more details on this topic, see <xref
-      linkend="svn-ch-2-sect-3.2" />.</para>
+      linkend="svn.basic.in-action.revs" />.</para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-2">
+  <sect1 id="svn.forcvs.directories">
     <title>Directory Versions</title>
     
     <para>Subversion tracks tree structures, not just file contents.
@@ -121,7 +121,7 @@
       up-to-date.</emphasis></para>
 
     <para>For more discussion about the limitations of directory
-      versioning, see <xref linkend="svn-ch-2-sect-3.4"/>.</para>
+      versioning, see <xref linkend="svn.basic.in-action.mixedrevs"/>.</para>
 
   </sect1>
 
@@ -129,7 +129,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-3">
+  <sect1 id="svn.forcvs.disconnected">
     <title>More Disconnected Operations</title>
 
     <para>In recent years, disk space has become outrageously cheap
@@ -149,7 +149,7 @@
         <term><command>svn status</command></term>
         <listitem>
           <para>Shows you any local changes you've made (see <xref
-            linkend="svn-ch-3-sect-5.3.1"/>)</para>
+            linkend="svn.tour.cycle.examine.status"/>)</para>
         </listitem>
       </varlistentry>
 
@@ -157,7 +157,7 @@
         <term><command>svn diff</command></term>
         <listitem>
           <para>Shows you the details of your changes (see <xref
-            linkend="svn-ch-3-sect-5.3.2"/>)</para>
+            linkend="svn.tour.cycle.examine.diff"/>)</para>
         </listitem>
       </varlistentry>
 
@@ -165,7 +165,7 @@
         <term><command>svn revert</command></term>
         <listitem>
           <para>Removes your local changes (see <xref
-            linkend="svn-ch-3-sect-5.3.3"/>)</para>
+            linkend="svn.tour.cycle.examine.revert"/>)</para>
         </listitem>
       </varlistentry>
 
@@ -188,7 +188,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-4">
+  <sect1 id="svn.forcvs.status-vs-update">
     <title>Distinction Between Status and Update</title>
 
     <para>In Subversion, we've tried to erase a lot of the confusion
@@ -294,7 +294,7 @@
 C    Resource has conflicts (changes have not been completely merged
        between the repository and working copy version)
 X    Resource is external to this working copy (comes from another
-       repository.  See <xref linkend="svn-ch-7-sect-2.3.6" />)
+       repository.  See <xref linkend="svn.advanced.props.special.externals" />)
 ?    Resource is not under version control
 !    Resource is missing or incomplete (removed by another tool than
        Subversion)
@@ -310,7 +310,7 @@
       whole sentence about it.</para>
 
     <para>For a more detailed discussion of <command>svn
-      status</command>, see <xref linkend="svn-ch-3-sect-5.3.1" />.</para>
+      status</command>, see <xref linkend="svn.tour.cycle.examine.status" />.</para>
 
 
   </sect1>
@@ -318,14 +318,14 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 5 ============================= -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-5">
+  <sect1 id="svn.forcvs.branches-and-tags">
     <title>Branches and Tags</title>
 
     <para>Subversion doesn't distinguish between filesystem space and
       <quote>branch</quote> space; branches and tags are ordinary
       directories within the filesystem.  This is probably the single
       biggest mental hurdle a CVS user will need to climb.  Read all
-      about it in <xref linkend="svn-ch-4"/>.</para>
+      about it in <xref linkend="svn.branchmerge"/>.</para>
 
 
     <warning>
@@ -349,7 +349,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 6 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-6">
+  <sect1 id="svn.forcvs.properties">
     <title>Metadata Properties</title>
 
     <para>A new feature of Subversion is that you can attach arbitrary
@@ -363,14 +363,14 @@
       subcommands.  To list all properties on an object, use
       <command>svn proplist</command>.</para>
 
-    <para>For more information, see <xref linkend="svn-ch-7-sect-2"/>.</para>
+    <para>For more information, see <xref linkend="svn.advanced.props"/>.</para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 7 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-7">
+  <sect1 id="svn.forcvs.conflicts">
     <title>Conflict Resolution</title>
 
     <para>CVS marks conflicts with in-line <quote>conflict
@@ -386,13 +386,13 @@
       tangible.  It remembers that a file is in a state of conflict,
       and won't allow you to commit your changes until you run
       <command>svn resolved</command>.  See <xref
-      linkend="svn-ch-3-sect-5.4"/> for more details.</para>
+      linkend="svn.tour.cycle.resolve"/> for more details.</para>
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 8 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-8">
+  <sect1 id="svn.forcvs.binary-and-trans">
     <title>Binary Files and Translation</title>
 
     <para>In the most general sense, Subversion handles binary files
@@ -412,8 +412,8 @@
     <para>Subversion takes the more paranoid route: first, it never
       performs any kind of keyword or line-ending translation unless
       you explicitly ask it do so (see <xref
-      linkend="svn-ch-7-sect-2.3.4"/> and <xref
-      linkend="svn-ch-7-sect-2.3.5"/> for more details).  By default,
+      linkend="svn.advanced.props.special.keywords"/> and <xref
+      linkend="svn.advanced.props.special.eol-style"/> for more details).  By default,
       Subversion treats all file data as literal byte strings, and
       files are always stored in the repository in an untranslated
       state.</para>
@@ -444,7 +444,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 9 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-9">
+  <sect1 id="svn.forcvs.modules">
 
     <title>Versioned Modules</title>
 
@@ -455,14 +455,14 @@
       copy appropriately, adding and removing components.</para>
 
     <para>Subversion defines modules as a list of directories within a
-      directory property:  see <xref linkend="svn-ch-7-sect-3"/>.</para>
+      directory property:  see <xref linkend="svn.advanced.externals"/>.</para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 10 ============================= -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-10">
+  <sect1 id="svn.forcvs.auth">
 
     <title>Authentication</title>
 
@@ -495,7 +495,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 11 ============================= -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-a-sect-11">
+  <sect1 id="svn.forcvs.convert">
 
     <title>Converting a Repository from CVS to Subversion</title>
 

Modified: trunk/src/ru/book/appb.xml
==============================================================================
--- trunk/src/ru/book/appb.xml	(original)
+++ trunk/src/ru/book/appb.xml	Sun May 29 04:30:18 2005
@@ -1,10 +1,10 @@
-  <appendix id="svn-ap-b">
+  <appendix id="svn.tshoot">
     <title>Troubleshooting</title>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ap-b-sect-1">
+  <sect1 id="svn.tshoot.c">
     <title>Common Problems</title>
     
     <para>There are a number of problems you may run into in the
@@ -31,13 +31,13 @@
       </footnote></para>
       
   
-    <sect2 id="svn-ap-b-sect-1.2">
+    <sect2 id="svn.tshoot.c.faq">
       <title>Problems Using Subversion</title>
       
       <para>Here are some of the most popular questions from
         Subversion's FAQ.</para>
 
-      <sect3 id="svn-ap-b-sect-1.2.1">
+      <sect3 id="svn.tshoot.c.faq.bdb-recovery">
         <title>Every time I try to access my repository, my Subversion
           client just hangs.</title>
         
@@ -77,7 +77,7 @@
       </sect3>
       
       
-      <sect3 id="svn-ap-b-sect-1.2.2">
+      <sect3 id="svn.tshoot.c.faq.wedged-wc">
         <title>Every time I try to run <command>svn</command>, it
           says my working copy is locked.</title>
         
@@ -103,25 +103,25 @@
       </sect3>
 
       
-      <sect3 id="svn-ap-b-sect-1.2.3">
+      <sect3 id="svn.tshoot.c.faq.db-recover">
         <title>I'm getting errors finding or opening a repository,
           but I know my repository URL is correct.</title>
 
-        <para>See <xref linkend="svn-ap-b-sect-1.2.1"/>.</para>
+        <para>See <xref linkend="svn.tshoot.c.faq.bdb-recovery"/>.</para>
 
         <para>You might also have a permissions problem opening the
-          repository.  See <xref linkend="svn-ch-6-sect-5"/>.</para>
+          repository.  See <xref linkend="svn.serverconfig.multimethod"/>.</para>
       </sect3>
 
       
-      <sect3 id="svn-ap-b-sect-1.2.4">
+      <sect3 id="svn.tshoot.c.faq.windows-drive-letter">
         <title>How can I specify a Windows drive letter in a
           <literal>file://</literal> URL?</title>
         
-        <para>See <xref linkend="svn-ch-2-sidebar-1"/>.</para>
+        <para>See <xref linkend="svn.basic.in-action.wc.sb-1"/>.</para>
       </sect3>
       
-      <sect3 id="svn-ap-b-sect-1.2.5">
+      <sect3 id="svn.tshoot.c.faq.write-over-dav">
         <title>I'm having trouble doing write operations to a
           Subversion repository over a network.</title>
         
@@ -155,7 +155,7 @@
       </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.6">
+      <sect3 id="svn.tshoot.c.faq.windows-xp-server">
         <title>Under Windows XP, the Subversion server sometimes
           seems to send out corrupted data.</title>
         
@@ -166,7 +166,7 @@
       </sect3>
       
       
-      <sect3 id="svn-ap-b-sect-1.2.7">
+      <sect3 id="svn.tshoot.c.faq.ethereal">
         <title>What is the best method of doing a network trace of
           the conversation between a Subversion client and
           Apache server?</title>
@@ -232,7 +232,7 @@
           file.</para>
       </sect3>
 
-      <sect3 id="svn-ap-b-sect-1.2.8">
+      <sect3 id="svn.tshoot.c.faq.unrecognized-url-error">
         <title>I just built the distribution binary, and when I try to
           check out Subversion, I get an error about an <quote>Unrecognized
           URL scheme.</quote></title>
@@ -263,7 +263,7 @@
         </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.9">
+      <sect3 id="svn.tshoot.c.faq.revert">
         <title>Why does the <command>svn revert</command> command
           require an explicit target? Why is it not recursive by
           default? This behavior differs from almost all the other
@@ -288,7 +288,7 @@
       </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.10">
+      <sect3 id="svn.tshoot.c.faq.db3db4">
         <title>When I start Apache, mod_dav_svn complains about a
           <quote>bad database version</quote>, that it found db-3.X,
           rather than db-4.X.</title>
@@ -306,7 +306,7 @@
       </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.11">
+      <sect3 id="svn.tshoot.c.faq.redhat-db">
         <title>I'm getting <quote>Function not implemented</quote>
           errors on RedHat 9, and nothing works. How do I fix
           this?</title>
@@ -350,7 +350,7 @@
       </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.12">
+      <sect3 id="svn.tshoot.c.faq.no-author">
         <title>Why does log say <quote>(no author)</quote> for files
           committed or imported via Apache (ra_dav)?</title>
 
@@ -368,11 +368,11 @@
 </screen>
 
         <para>Read about adding authentication in <xref
-          linkend="svn-ch-6"/>.</para>
+          linkend="svn.serverconfig"/>.</para>
       </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.13">
+      <sect3 id="svn.tshoot.c.faq.windows-access-denied">
         <title>I'm getting occasional <quote>Access Denied</quote>
           errors on Windows.  They seem to happen at random.</title>
 
@@ -388,7 +388,7 @@
       </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.14">
+      <sect3 id="svn.tshoot.c.faq.freebsd-hang">
         <title>On FreeBSD, certain operations (especially svnadmin
           create) sometimes hang.</title>
 
@@ -407,7 +407,7 @@
       </sect3>
 
 
-      <sect3 id="svn-ap-b-sect-1.2.15">
+      <sect3 id="svn.tshoot.c.faq.301-error">
         <title>I can see my repository in a web browser, but
           <command>svn checkout</command> gives me an error about
           <literal>301 Moved Permanently</literal>.</title>
@@ -438,7 +438,7 @@
       </sect3>
 
       
-      <sect3 id="svn-ap-b-sect-1.2.16">
+      <sect3 id="svn.tshoot.c.faq.no-copy-history">
         <title>I'm trying to look at an old version of my file, but
           svn says something about <quote>path not
           found</quote>.</title>

Modified: trunk/src/ru/book/appc.xml
==============================================================================
--- trunk/src/ru/book/appc.xml	(original)
+++ trunk/src/ru/book/appc.xml	Sun May 29 04:30:18 2005
@@ -1,11 +1,11 @@
-<appendix id="svn-ap-c">
+<appendix id="svn.webdav">
 <title>WebDAV and Autoversioning</title>
 
   <simplesect>
 
     <para>WebDAV is an extension to HTTP, and is growing more and more
       popular as a standard for file-sharing.  Today's operating
-      systems are becoming extremely Web-aware, and many have now
+      systems are becoming extremely Web-aware, and many now have
       built-in support for mounting <quote>shares</quote> exported by
       WebDAV servers.</para>
 
@@ -17,39 +17,49 @@
 
   </simplesect>
 
-  <sect1 id="svn-ap-c-sect-1">
+  <sect1 id="svn.webdav.basic">
     <title>Basic WebDAV Concepts</title> 
 
     <para>This section provides a very brief, very general overview to
       the ideas behind WebDAV.  It should lay the foundation for
       understanding WebDAV compatibility issues between clients and
       servers.</para>
-
-    <sect2 id="svn-ap-c-sect-1.1">
-      <title>Just Plain WebDAV</title>
-
+    
+    <para>This section provides a very brief overview to the ideas
+      behind WebDAV. It should lay the foundation for understanding
+      WebDAV compatibility issues between clients and servers.</para>
+    
+    <sect2 id="svn.webdav.basic.original">
+      <title>Original WebDAV</title>
+      
       <para>RFC 2518 defines a set of concepts and accompanying
         extension methods to HTTP 1.1 that make the web into a more
         universal read/write medium.  The basic idea is that a
-        WebDAV-compliant web server can act like a generic file server;
-        clients can mount WebDAV <quote>shares</quote> that behave
-        much like NFS or SMB shares.</para>
+        WebDAV-compliant web server can act like a generic file
+        server; clients can mount shared folders that behave much like
+        NFS or SMB filesystems..</para>
       
-      <para>However, it's important to note that RFC 2518 does
-        <emphasis>not</emphasis> provide any sort of model for version
-        control, despite the <quote>V</quote> in DAV.  Basic WebDAV
-        clients and servers assume only one version of each file or
-        directory exists, and can be repeatedly overwritten.
-        <footnote><para>For this reason, some people jokingly refer to
-        generic WebDAV clients as <quote>WebDA</quote>
-        clients!</para></footnote></para>
-  
-      <para>Here are the new concepts and methods introduced in basic
+      <para>The tragedy, though, is that the RFC 2518 WebDAV
+        specification does not provide any sort of model for version
+        control, despite the "V" in DAV.  Basic WebDAV clients and
+        servers assume only one version of each file or directory
+        exists, and can be repeatedly overwritten.</para>
+
+      <para>Here are the concepts and terms introduced in basic
         WebDAV:</para>
 
       <variablelist>
 
         <varlistentry>
+          <term>Resources</term>
+          <listitem>
+            <para> WebDAV lingo refers to any server-side object
+              (that can be described with a URI) as a
+              <firstterm>resource</firstterm>.</para>
+          </listitem>
+        </varlistentry>
+        
+        <varlistentry>
           <term>New write methods</term>
           <listitem>
             <para>Beyond the standard HTTP <literal>PUT</literal>
@@ -59,17 +69,16 @@
               rearranging resources.</para>
           </listitem>
         </varlistentry>
-                
+        
         <varlistentry>
           <term>Collections</term>
           <listitem>
-            <para>This is simply the WebDAV term for a grouping of
-              resources (URIs).  In most cases, it is analogous to a
-              <quote>directory</quote>.  You can tell something is a
-              collection if it ends with a trailing <quote>/</quote>.
-              Whereas file resources can be written or created with a
-              <literal>PUT</literal> method, collection resources are
-              created with the new <literal>MKCOL</literal>
+            <para>A <firstterm>collection</firstterm> is the WebDAV
+              term for a grouping of resources.  In most cases, it
+              is analogous to a directory.  Whereas file resources
+              can be written or created with a
+              <literal>PUT</literal> method, collection resources
+              are created with the new <literal>MKCOL</literal>
               method.</para>
           </listitem>
         </varlistentry>
@@ -81,15 +90,16 @@
               Subversion—metadata attached to files and
               collections.  A client can list or retrieve properties
               attached to a resource with the new
-              <literal>PROPFIND</literal> method, and can change them
-              with the <literal>PROPPATCH</literal> method.  Some
-              properties are wholly created and controlled by users
-              (e.g. a property called <quote>color</quote>), and
-              others are wholly created and controlled by the WebDAV
-              server (e.g. a property that contains the last
+              <literal>PROPFIND</literal> method, and can change
+              them with the <literal>PROPPATCH</literal> method.
+              Some properties are wholly created and controlled by
+              users (e.g. a property called <quote>color</quote>),
+              and others are wholly created and controlled by the
+              WebDAV server (e.g. a property that contains the last
               modification time of a file).  The former kind are
-              called <quote>dead</quote> properties, and the latter
-              kind are called <quote>live</quote> properties.</para>
+              called <firstterm>dead properties</firstterm>, and the
+              latter kind are called <firstterm>live
+                properties</firstterm>.</para>
           </listitem>
         </varlistentry>
         
@@ -97,538 +107,679 @@
           <term>Locking</term>
           <listitem>
             <para>A WebDAV server may decide to offer a locking
-              feature to clients—this part of the specification
-              is optional, although most WebDAV servers do offer the
-              feature.  If present, then clients can use the new
-              <literal>LOCK</literal> and <literal>UNLOCK</literal>
-              methods to mediate access to a resource.  In most cases
-              these methods are used to create exclusive write locks
-              (as discussed in <xref linkend="svn-ch-2-sect-2.2"/>),
-              although shared write locks are also possible.</para>
+              feature to clients—this part of the
+              specification is optional, although most WebDAV
+              servers do offer the feature.  If present, then
+              clients can use the new <literal>LOCK</literal> and
+              <literal>UNLOCK</literal> methods to mediate access to
+              a resource.  In most cases these methods are used to
+              create exclusive write locks (as discussed in <xref
+                linkend="svn.basic.vsn-models.lock-unlock"/>), although shared write
+              locks are also possible in some server
+              implementations.</para>
           </listitem>
         </varlistentry>
 
+        <varlistentry>
+          <term>Access control</term>
+          <listitem>             
+            <para>A more recent specification (RFC 3744) defines a
+              system for defining access control lists (ACLs) on
+              WebDAV resources.  Some clients and servers have begun
+              to implement this feature.</para>
+          </listitem>
+        </varlistentry>
+        
       </variablelist>
-
+        
     </sect2>
-
-    <sect2 id="svn-ap-c-sect-1.2">
+    
+    <sect2 id="svn.webdav.basic.deltav">
       <title>DeltaV Extensions</title>
-  
+      
       <para>Because RFC 2518 left out versioning concepts, another
-        capable group was left with the responsibility of writing RFC
-        3253, which adds versioning to WebDAV.  WebDAV/DeltaV clients
-        and servers are often called just <quote>DeltaV</quote>
-        clients and servers, since DeltaV implies the existence of
-        basic WebDAV.</para>
+        committee was left with the responsibility of writing RFC
+        3253, which adds versioning to WebDAV,
+        a.k.a. <quote>DeltaV</quote>.  WebDAV/DeltaV clients and
+        servers are often called just <quote>DeltaV</quote> programs,
+        since DeltaV implies the existence of basic WebDAV.</para>
 
       <para>DeltaV introduces a whole slew of new acronyms, but don't
-        be intimidated.  The ideas are fairly straightforward.  Here
-        are the new concepts and methods introduced in DeltaV:</para>
+        be intimidated.  The ideas are fairly straightforward:</para>
 
       <variablelist>
-
+        
         <varlistentry>
           <term>Per-resource versioning</term>
           <listitem>
-            <para>Like CVS and other version-control systems, DeltaV
-              assumes that each resource has a potentially infinite
-              number of states.  A client begins by placing a resource
-              under version control using the new
-              <literal>VERSION-CONTROL</literal> method.  This creates
-              a new Version Controlled Resource (VCR).  Every time you
-              change the VCR (via <literal>PUT</literal>,
-              <literal>PROPPATCH</literal>, etc.), a new state of the
-              resource is created, called a Version Resource (VR).
-              VCRs and VRs are still ordinary web resources, defined
-              by URLs.  Specific VRs can have human-friendly names as
-              well.</para>
+            <para> Like CVS and other version-control systems,
+              DeltaV assumes that each resource has a potentially
+              infinite number of states. A client begins by placing
+              a resource under version control using the new
+              <literal>VERSION-CONTROL</literal> method.</para>
           </listitem>
         </varlistentry>
-
+        
         <varlistentry>
           <term>Server-side working-copy model</term>
           <listitem>
-            <para>Some DeltaV servers support the ability to create a
-              virtual <quote>workspace</quote> on the server, where
-              all of your work is performed.  Clients use the
+            <para>Some DeltaV servers support the ability to create
+              a virtual workspace on the server, where all of your
+              work is performed.  Clients use the
               <literal>MKWORKSPACE</literal> method to create a
-              private area, then indicate they want to change specific
-              VCRs by <quote>checking them out</quote> into the
-              workspace, editing them, and <quote>checking them
-              in</quote> again.  In HTTP terms, the sequence of
+              private area, then indicate they want to change
+              specific resources by <quote>checking them out</quote>
+              into the workspace, editing them, and <quote>checking
+                them in</quote> again. In HTTP terms, the sequence of
               methods would be <literal>CHECKOUT</literal>,
-              <literal>PUT</literal>, <literal>CHECKIN</literal>.
-              After each <literal>CHECKIN</literal>, a new VR is
-              created, and the edited VCR's contents now <quote>point
-              to</quote> the latest VR.  Each VCR has also has a
-              <quote>history</quote> resource which tracks and orders
-              its various VR states.</para>
+              <literal>PUT</literal>,
+              <literal>CHECKIN</literal>.</para>
           </listitem>
         </varlistentry>
-
+        
         <varlistentry>
           <term>Client-side working-copy model</term>
           <listitem>
             <para>Some DeltaV servers also support the idea that the
-              client may have a private working copy full of
-              specific VRs.  (This is how CVS and Subversion work.)
+              client may have a private working copy on local disk.
               When the client wants to commit changes to the server,
               it begins by creating a temporary server transaction
-              (called an activity) with the
+              (called an <firstterm>activity</firstterm>) with the
               <literal>MKACTIVITY</literal> method.  The client then
-              performs a <literal>CHECKOUT</literal> on each VR it
-              wishes to change, which creates a number of temporary
-              <quote>working resources</quote> in the activity, that
-              can be modified using <literal>PUT</literal> and
-              <literal>PROPPATCH</literal> methods.  Finally, the
-              client performs a <literal>CHECKIN</literal> on each
-              working resource, which creates a new VR within each
-              VCR, and the entire activity is deleted.</para>
+              performs a <literal>CHECKOUT</literal> on each
+              resource it wishes to change and sends
+              <literal>PUT</literal> requests. Finally, the client
+              performs a <literal>CHECKIN</literal> resource, or
+              sends a <literal>MERGE</literal> request to check in
+              all resources at once.</para>
           </listitem>
         </varlistentry>
-
+        
         <varlistentry>
           <term>Configurations</term>
           <listitem>
             <para>DeltaV allows you define flexible collections of
-              VCRs called <quote>configurations</quote>, which don't
-              necessarily correspond to particular directories.  Each VCR's
-              contents can be made to point to a specific VR using the
-              <literal>UPDATE</literal> method.  Once the configuration
-              is perfect, the client can create a
-              <quote>snapshot</quote> of the whole configuration, called
-              a <quote>baseline</quote>.  Clients use the
-              <literal>CHECKOUT</literal> and <literal>CHECKIN</literal>
-              methods to capture specific states of configurations, much
-              like they use these methods to create specific VR states
-              of VCRs.</para>
+              resources called <quote>configurations</quote>, which
+              don't necessarily correspond to particular
+              directories. A configuration can be made to point to
+              specific versions of files, and then a
+              <quote>baseline</quote> snapshot can be made, much
+              like a tag.</para>
           </listitem>
         </varlistentry>
-
+        
         <varlistentry>
           <term>Extensibility</term>
           <listitem>
             <para>DeltaV defines a new method,
               <literal>REPORT</literal>, which allows the client and
-              server to perform customized data exchanges.  The client
-              sends a <literal>REPORT</literal> request with a
+              server to perform customized data exchanges.  While
+              DeltaV defines a number of standardized history reports
+              that a client can request, the the server is also free
+              to define custom reports.  The client sends a
+              <literal>REPORT</literal> request with a
               properly-labeled XML body full of custom data; assuming
               the server understands the specific report-type, it
-              responds with an equally custom XML body.  This technique
-              is very similar to XML-RPC.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry>
-          <term>Autoversioning</term>
-          <listitem>
-            <para>For many, this is the <quote>killer</quote> feature
-              of DeltaV.  If the DeltaV server supports this feature,
-              then basic WebDAV clients (i.e. those unaware of
-              versioning) can still write to the server, and the server
-              will silently perform versioning anyway.  In the simplest
-              example, an ignorant <literal>PUT</literal> from a basic
-              WebDAV client might be translated by the server as a
-              <literal>CHECKOUT</literal>, <literal>PUT</literal>,
-              <literal>CHECKIN</literal>.</para>
+              responds with an equally custom XML body.  This
+              technique is very similar to XML-RPC.</para>
           </listitem>
         </varlistentry>
         
       </variablelist>
+        
+      </sect2>
       
-    </sect2>
-
   </sect1>
-
-  <sect1 id="svn-ap-c-sect-2">
+  
+  <sect1 id="svn.webdav.svn-and-deltav">
     <title>Subversion and DeltaV</title> 
-    
-    <para>So how <quote>compatible</quote> is Subversion with other
-      DeltaV software?  In two words: not very.  At least not yet, not
-      in Subversion 1.0.</para>
-    
-    <para>While libsvn_ra_dav sends DeltaV requests to the server, the
-      Subversion client is <emphasis>not</emphasis> a general-purpose
-      DeltaV client.  In fact, it expects some custom features from
-      the server (especially through custom <literal>REPORT</literal>
-      requests).  Further, mod_dav_svn is <emphasis>not</emphasis> a
-      general-purpose DeltaV server.  It only implements a strict
-      subset of the DeltaV specification.  A more general WebDAV or
-      DeltaV client may very well be able to interoperate against it,
-      but only if that client operates within the narrow confines of
-      those features that the server has implemented.  The Subversion
-      development team plans to address general WebDAV
-      interoperability in a future release of Subversion.</para>
 
-    <sect2 id="svn-ap-c-sect-2.1">
-      <title>Mapping Subversion to DeltaV</title>
-      
-      <para>Here is a very <quote>high-level</quote> description of
-        how various Subversion client operations use DeltaV.  In many
-        cases, these explanations are gross oversimplifications.  They
-        should <emphasis>not</emphasis> be taken as a substitute for
-        reading Subversion's source code or talking with its
-        developers.</para>
-      
-      <variablelist>
+    <para>The original WebDAV standard has been widely successful.
+      Every modern computer operating system has a general WebDAV
+      client built-in (details to follow), and a number of popular
+      standalone applications are also able to speak WebDAV —
+      Microsoft Office, Dreamweaver, and Photoshop to name a few.  On
+      the server end, the Apache webserver has been able to provide
+      WebDAV services since 1998 and is considered the de-facto
+      open-source standard.  There are several other commercial WebDAV
+      servers available, including Microsoft's own IIS.</para>
+
+    <para>DeltaV, unfortunately, has not been so successful.  It's
+      very difficult to find any DeltaV clients or servers.  The few
+      that do exist are relatively unknown commercial products, and
+      thus it's very difficult to test interoperability.  It's not
+      entirely clear as to why DeltaV has remained stagnant.  Some
+      argue that the specification is just too complex, others argue
+      that while WebDAV's features have mass appeal (even the least
+      technical users appreciate network file-sharing), version
+      control features aren't interesting or necessary for most users.
+      Finally, some have argued that DeltaV remains unpopular because
+      there's still no open-source server product which implements
+      it.</para>
+   
+    <para>When Subversion was still in its design phase, it seemed
+      like a great idea to use Apache httpd as the main network
+      server.  It already had a module to provide WebDAV services.
+      DeltaV was a relatively new specification.  The hope was that
+      the Subversion server module (mod_dav_svn) would eventually
+      evolve into an open-source DeltaV reference implementation.
+      Unfortunately, DeltaV has a very specific versioning model that
+      doesn't quite line up with Subversion's model.  Some concepts
+      were mappable, others were not.</para>
+
+    <para>The upshot is that</para>
+
+    <orderedlist>
+
+      <listitem>
+        <para>The Subversion client is not a fully-implemented DeltaV
+          client.</para>
         
-        <varlistentry>
-          <term>svn checkout/list</term>
-          <listitem>
-            <para>
-              Perform a <literal>PROPFIND</literal> of depth 1 on the
-              collection to get a list of immediate children.  Perform
-              a <literal>GET</literal> (and possibly a
-              <literal>PROPFIND</literal>) on each child.  Recurse
-              into collections and repeat.
-            </para>
-          </listitem>
-        </varlistentry>
-        
-        <varlistentry>
-          <term>svn commit</term>
-          <listitem>
-            <para>
-              Create an activity with <literal>MKACTIVITY</literal>,
-              and do a <literal>CHECKOUT</literal> of each changed
-              item, followed by a <literal>PUT</literal> of new data.
-              Finally, a <literal>MERGE</literal> request causes an
-              implicit <literal>CHECKIN</literal> of all working
-              resources.
-            </para>
-          </listitem>
-        </varlistentry>
-        
-        <varlistentry>
-          <term>svn update/switch/status/merge/diff</term>
-          <listitem>
-            <para>
-              Send a custom <literal>REPORT</literal> request that
-              describes the mixed-revision (and mixed-URL) state of
-              the working copy.  The server sends a custom response
-              that describes which items need updating and includes
-              binary deltas of file contents.  Parses the response.
-              For updates and switches, install the new data in the
-              working copy.  For diff and merge commands, compare the
-              data to the working copy, possibly applying changes as
-              local modifications.
-            </para>
-          </listitem>
-        </varlistentry>
-
-      </variablelist>
-      
-    </sect2>
-    
-    <sect2 id="svn-ap-c-sect-2.2">
-      <title>Autoversioning Support</title>
-      
-      <para>At the time of writing, the truth is that there are very
-        few DeltaV clients in the world; RFC 3253 is still relatively
-        new.  However users do have access to <quote>generic</quote>
-        clients, because almost every modern operating system now has
-        an integrated basic WebDAV client.  With this in mind,
-        Subversion developers realized that if Subversion 1.0 was to
-        have <emphasis>any</emphasis> interoperability features,
-        support for DeltaV autoversioning would be the best
-        approach.</para>
+        <para>The client needs certain things from the server that
+          DeltaV cannot provide, and thus is largely dependent on a
+          number of Subversion-specific <literal>REPORT</literal>
+          requests that only mod_dav_svn understands.</para>
+      </listitem>
+
+      <listitem>
+        <para>mod_dav_svn is not a fully-implemented DeltaV server.</para>
+
+        <para>Many portions of the DeltaV specification were irrelevant to
+          Subversion, and thus left unimplemented.</para>
+      </listitem>
       
-      <para>To activate autoversioning in mod_dav_svn, use the
-        <literal>SVNAutoversioning</literal> directive within the
-        <filename>httpd.conf</filename> <literal>Location</literal>
-        block, like so:</para>
-      
-              <screen>
-<Location /repos>
-  DAV svn
-  SVNPath /absolute/path/to/repository
-  SVNAutoversioning on
-</Location>
-</screen>
+    </orderedlist>
 
-      <para>Normally, if a generic WebDAV client attempted a
-        <literal>PUT</literal> to a path within your repository
-        location, mod_dav_svn would outright reject the request.  (It
-        normally only allows such operations on <quote>working
-        resources</quote> within DeltaV <quote>activities</quote>.)
-        With <literal>SVNAutoversioning</literal> turned on, however,
-        the server interprets the <literal>PUT</literal> request as an
-        internal <literal>MKACTIVITY</literal>,
-        <literal>CHECKOUT</literal>, <literal>PUT</literal>, and
-        <literal>CHECKIN</literal>.  A generic log message is
-        auto-generated, and a new filesystem revision is
-        created.</para>
-
-      <para>Because so many operating systems already have integrated
-        WebDAV abilities, the use case for this feature borders on
-        fantastical: imagine an office of ordinary users running
-        Microsoft Windows or Mac OS.  Each computer
-        <quote>mounts</quote> the Subversion repository, which appears
-        to be an ordinary network share.  They use the server as they
-        always do:  open files from the server, edit them, and
-        save them back to the server.  But in this fantasy, the server
-        is automatically versioning everything.  Later on, a sysadmin
-        can use a Subversion client to search and retrieve all older
-        versions.</para>
-
-      <para>Is this fantasy real?  Not quite.  The main snag is that
-        Subversion 1.0 has no support whatsoever for the WebDAV
-        <literal>LOCK</literal> or <literal>UNLOCK</literal> methods.
-        Most operating system DAV clients attempt to
-        <literal>LOCK</literal> a resource opened directly from a
-        DAV-mounted network share.  For now, users may have to copy a
-        file from the DAV share to local disk, edit the file, then
-        copy it back again.  Not ideal autoversioning, but still
-        doable.</para>
+    <para>There is still some debate in the developer community as to
+      whether or not it's worthwhile to remedy either of these
+      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>
 
-    </sect2>
+  </sect1>
 
-    <sect2 id="svn-ap-c-sect-2.3">
-      <title>The mod_dav_lock Alternative</title>
-      
-      <para>The mod_dav Apache module is a complex beast:  it
-        understands and parses all of the WebDAV and DeltaV methods,
-        yet it depends on a back-end <quote>provider</quote> to
-        access the resources themselves.</para>
-
-      <para>In its simplest incarnation, a user can use mod_dav_fs as
-        a provider for mod_dav.  mod_dav_fs uses the ordinary
-        filesystem to store files and directories, and only
-        understands vanilla WebDAV methods, not DeltaV.</para>
-
-      <para>Subversion, on the other hand, uses mod_dav_svn as a
-        provider for mod_dav.  mod_dav_svn understands all WebDAV
-        methods except <literal>LOCK</literal>, and understands a
-        sizable subset of DeltaV methods.  It accesses data in the
-        Subversion repository, rather than in the real filesystem.
-        Subversion 1.0 doesn't support locking, because it would
-        actually be quite difficult to implement, since Subversion uses
-        the copy-modify-merge model.<footnote><para>Subversion may
-        someday develop a reserved-checkout locking model that can
-        live peaceably with copy-modify-merge, but it probably won't
-        happen soon.</para></footnote></para>
-
-      <para>In Apache httpd-2.0, mod_dav supports the
-        <literal>LOCK</literal> method by tracking locks in a private
-        database, assuming that the provider is willing to accept
-        them.  In Apache httpd-2.1 or later, however, this locking
-        support has been broken into an independent module,
-        mod_dav_lock.  It allows any mod_dav provider to take
-        advantage of the lock database, including mod_dav_svn, even
-        though mod_dav_svn doesn't actually understand locking.</para>
-
-      <para>Confused yet?</para>
-
-      <para>In a nutshell, you can use mod_dav_lock in Apache
-        httpd-2.1 (or later) to create the
-        <emphasis>illusion</emphasis> that mod_dav_svn is honoring
-        <literal>LOCK</literal> requests.  Make sure mod_dav_lock is
-        either compiled into httpd, or being loaded in your
-        <filename>httpd.conf</filename>.  Then simply add the
-        <literal>DAVGenericLockDB</literal> directive to your
-        <literal>Location</literal> like so:</para>
+  <sect1 id="svn.webdav.autoversioning">
+    <title>Autoversioning </title>
+
+    <para>All is not lost.  There's still a bright gleam of
+      interoperability around this cloud, one which justifies
+      Subversion's original adoption of WebDAV: it's called
+      autoversioning.</para>
+
+    <para>Autoversioning is an optional feature defined in the DeltaV
+      standard.  A typical DeltaV server will reject an ignorant
+      WebDAV client attempting to do a <literal>PUT</literal> to a
+      file that's under version control.  To change a
+      version-controlled file, the server expects a series proper
+      versioning requests: something like
+      <literal>MKACTIVITY</literal>, <literal>CHECKOUT</literal>,
+      <literal>PUT</literal>, <literal>CHECKIN</literal>.  But if the
+      DeltaV server supports autoversioning, then write-requests from
+      basic WebDAV clients are accepted.  The server behaves *as if*
+      the client had issued the proper series of versioning requests,
+      peforming a commit under the hood.  In other words, it allows a
+      DeltaV server to interoperate with ordinary WebDAV
+      clients.</para>
+
+    <para>Because so many operating systems already have integrated
+      WebDAV clients, the use case for this feature borders on
+      fantastical: imagine an office of ordinary users running
+      Microsoft Windows or Mac OS.  Each user <quote>mounts</quote>
+      the Subversion repository, which appears to be an ordinary
+      network folder.  They use the shared folder as they always do:
+      open files, edit them, save them.  Meanwhile, the server is
+      automatically versioning everything.  Any administrator (or
+      knowledgeable user) can still use a Subversion client to search
+      history and retrieve older versions of data.</para>
+
+    <para>This scenario isn't fiction: it's real and it works, as of
+      Subversion 1.2 and later.  To activate autoversioning in
+      mod_dav_svn, use the <literal>SVNAutoversioning</literal>
+      directive within the <filename>httpd.conf</filename> Location
+      block, like so:</para>
 
               <screen>
 <Location /repos>
   DAV svn
-  SVNPath /absolute/path/to/repository
+  SVNPath /path/to/repository
   SVNAutoversioning on
-  DavGenericLockDB /path/to/store/locks
 </Location>
 </screen>
 
-      <para>This technique is a risky business; in some sense, the
-        mod_dav_svn is now lying to the WebDAV client.  It claims to
-        accept the <literal>LOCK</literal> request, but in reality the
-        lock isn't being enforced at all levels.  If a second WebDAV
-        client attempts to <literal>LOCK</literal> the same resource,
-        then mod_dav_lock will notice and correctly deny the request.
-        But there's absolutely nothing preventing an ordinary
-        Subversion client from changing the file via a normal
-        <command>svn commit</command>!  If you use this technique,
-        you're giving users the opportunity to stomp on each others'
-        changes.  In particular, a WebDAV client might accidentally
-        overwrite a change committed by a regular Subversion client.</para>
-
-      <para>On the other hand, if you set up your environment very
-        carefully, you may mitigate the risk.  For example, if
-        <emphasis>all</emphasis> of your users are working though
-        basic WebDAV clients (rather than Subversion clients), then
-        things should be fine.</para>
 
-    </sect2>
-    
+    <para>When SVNAutoversioning is active, write requests from WebDAV
+      clients result in automatic commits.  A generic log message is
+      auto-generated and attached to each revision.</para>
+
+    <para>Before activating this feature, however, understand what
+      you're getting into.  WebDAV clients tend to do
+      <emphasis>many</emphasis> write requests, resulting in a huge
+      number of automatically committed revisions.  For example, when
+      saving data, many clients will do a <literal>PUT</literal> of a
+      0-byte file (as a way of reserving a name) followed by another
+      <literal>PUT</literal> with the real filedata.  The single
+      file-write results in two separate commits.  Also consider that
+      many applications auto-save every few minutes, resulting in even
+      more commits.</para>
+
+    <para>If you have a post-commit hook program that sends email, for
+      example, you may want to disable email generation either
+      altogether, or on certain sections of the repository; it depends
+      on whether you think the influx of emails will still prove to be
+      valuable notifications or not.  Also, a smart post-commit hook
+      program can distinguish between a transaction created via
+      autoversioning and one created through a normal <command>svn
+      commit</command>.  The trick is to look for a revision property
+      named <literal>svn:autoversioned</literal>.  If present, the
+      commit was made by a generic WebDAV client.</para>
+
   </sect1>
-  
-  <sect1 id="svn-ap-c-sect-3">
-    <title>Autoversioning Interoperability</title> 
 
-      <para>In this section, we'll describe the most common generic
-        WebDAV clients (at the time of writing), and how well they
-        operate against a mod_dav_svn server using the
-        <literal>SVNAutoversioning</literal> directive.  RFC 2518 is a
-        bit large, and perhaps a bit too flexible.  Every WebDAV
-        client behaves slightly differently, and creates slightly
-        different problems.</para>
-        
-        <!-- list of subsections goes here. -->
-
-    <sect2 id="svn-ap-c-sect-3.1">
-      <title>Win32 WebFolders</title>
-
-      <para>Windows 98, 2000, and XP have an integrated WebDAV client
-        known as <quote>WebFolders</quote>.  On Windows 98, the
-        feature might need to be explicitly installed;  if present, a
-        <quote>WebFolders</quote> directory appears directly within My
-        Computer.  On Windows 2000 and XP, simply open My Network
-        Places, and run the Add Network Place icon.  When prompted,
-        enter the WebDAV URL.  The shared folder will appear within My
-        Network Places.</para>
+  <sect1 id="svn.webdav.clients">
+    <title>Client Interoperability</title> 
 
-      <para>Most write operations work fine against an autoversioning
-        mod_dav_svn server, but there are a few problems:</para>
+    <para>In this section, we'll describe the most common WebDAV clients (at
+      the time of writing), and how well they operate against an
+      autoversioning mod_dav_svn server.</para>
 
-      <itemizedlist>
+    <para>All WebDAV clients fall into one of three categories.  These
+      categories are the main definers of what users can and cannot
+      do.</para>
+
+    <variablelist>
+
+      <varlistentry>
+        <term>Standalone application</term>
+
+        <listitem>
+          <para>The WebDAV functionality is buried within a single
+            application.  For example, Microsoft Word is able to open a
+            file directly from a URL.  It locks the file when this
+            happens, and every subsequent <quote>save</quote> command
+            results in a PUT request.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>File-explorer extension</term>
+
+        <listitem>
+          <para>The WebDAV functionality is an extension to a GUI
+            program that is normally used to browse filesystems,
+            either local or remote.  For example, Windows Explorer is
+            able to browse a WebDAV server as a <quote>network
+            place</quote>.  Users can drag files to and from the
+            desktop, or can rename, copy, or delete files in the usual
+            way.  But because it's only a feature of the
+            file-explorer, the DAV share isn't visible to ordinary
+            applications.  All DAV interaction must happen through the
+            explorer interface.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>        
+        <term>Filesystem implementation</term>
+
+        <listitem>
+          <para>This the best sort of WebDAV client.  It's implemented
+            as a low-level filesystem (typically within the operating
+            system's kernel.)  This means that the DAV share is
+            mounted like any other network filesystem, similar to
+            mounting an NFS share on Unix, or attaching an SMB share
+            as drive-letter in Windows.  As a result, this sort of
+            client provides completely transparent read/write WebDAV
+            access to all programs.  Applications aren't even aware
+            that WebDAV requests are happening.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <para>There are many WebDAV clients, far too many to list.  Here
+      we provide some details about our experiences with some of the
+      more popular ones.</para>
+
+    <table id="svn.webdav.clients.tbl-1">
+      <title>Common WebDAV Clients</title>
+      <tgroup cols="4">
+        <thead>
+          <row>
+            <entry>DAV Client</entry>
+            <entry>Standalone</entry>
+            <entry>File-explorer</entry>
+            <entry>Filesystem</entry>
+          </row>
+        </thead>
+        <tbody>
+
+          <row>
+            <entry>Windows Webfolders</entry>
+            <entry></entry>
+            <entry>x</entry>
+            <entry>x</entry>
+          </row>
+          
+          <row>
+            <entry>WebDrive</entry>
+            <entry></entry>
+            <entry></entry>
+            <entry>x</entry>
+          </row>
+          
+          <row>
+            <entry>NetDrive</entry>
+            <entry></entry>
+            <entry></entry>
+            <entry>x</entry>
+          </row>
+          
+          <row>
+            <entry>Mac OS X</entry>
+            <entry></entry>
+            <entry></entry>
+            <entry>x</entry>
+          </row>
+          
+          <row>
+            <entry>GNOME Nautilus</entry>
+            <entry></entry>
+            <entry>x</entry>
+            <entry></entry>
+          </row>
+          
+          <row>
+            <entry>KDE Konqueror</entry>
+            <entry></entry>
+            <entry>x</entry>
+            <entry></entry>
+          </row>
+          
+          <row>
+            <entry>Linux davfs2</entry>
+            <entry></entry>
+            <entry></entry>
+            <entry>x</entry>
+          </row>
+          
+          <row>
+            <entry>Cadaver</entry>
+            <entry>x</entry>
+            <entry></entry>
+            <entry></entry>
+          </row>
+          
+          <row>
+            <entry>DAV Explorer</entry>
+            <entry>x</entry>
+            <entry></entry>
+            <entry></entry>
+          </row>
+          
+          <row>
+            <entry>Microsoft Office</entry>
+            <entry>x</entry>
+            <entry></entry>
+            <entry></entry>
+          </row>
+
+          <row>
+            <entry>Dreamweaver</entry>
+            <entry>x</entry>
+            <entry></entry>
+            <entry></entry>
+          </row>
+
+          <row>
+            <entry>Photoshop</entry>
+            <entry>x</entry>
+            <entry></entry>
+            <entry></entry>
+          </row>
+          
+        </tbody>
+      </tgroup>      
+    </table>
+
+    <sect2 id="svn.webdav.clients.windows">
+      <title>Windows Webfolders, WebDrive, Netdrive</title> 
+
+      <para>Microsoft was one of the original backers of the WebDAV
+        specification, and first started shipping a client in Windows
+        98, known as <quote>Webfolders</quote>.  This client was also
+        shipped in Windows NT4 and 2000.</para>
+
+      <para>The original Webfolders client was an extension to
+        Explorer, the main GUI program used to browse filesystems.  It
+        works well enough.  In Windows 98, the feature might need to
+        be explicitly installed if Webfolders aren't already visible
+        inside <quote>My Computer</quote>.  In Windows 2000, simply
+        add a new <quote>network place</quote>, enter the URL, and the
+        WebDAV share will pop up for browsing.</para>
+
+      <para>With the release of Windows XP, Microsoft started shipping
+        a new implementation of Webfolders, known as the <quote>WebDAV
+        mini-redirector</quote>.  The new implementation is a
+        filesystem-level client, allowing WebDAV shares to be mounted
+        as drive letters.  Unfortunately, this implementation is
+        incredibly buggy.  The client usually tries to convert http
+        URLs (<literal>http://host/repos</literal>) into UNC share
+        notation (<literal>\\host\repos</literal>); it also often
+        tries to use Windows Domain authentication to respond to
+        basic-auth HTTP challenges, sending usernames as
+        <literal>HOST\username</literal>.  These interoperability
+        problems are severe and documented in numerous places around
+        the web, to the frustration of many users.  Even Greg Stein,
+        the original author of Apache's WebDAV module, recommends
+        against trying to use XP Webfolders against an Apache
+        server.</para>
+
+      <para>It turns out that the original
+        <quote>Explorer-only</quote> Webfolders implementation isn't
+        dead in XP, it's just buried.  It's still possible to find it
+        by using this technique:</para>
+
+      <orderedlist>
+
+        <listitem>
+          <para>Go to 'Network Places'.</para>
+        </listitem>
 
         <listitem>
-          <para>If a Windows XP computer is a member of an NT Domain,
-            then it seems to be unable to connect to the WebDAV share.
-            It repeatedly asks for a name and password, even when the
-            Apache server isn't issuing an authentication challenge!
-            If the machine isn't part of an NT Domain, then the share
-            is mounted without a problem.</para>
-            
-          <para>This problem seems to stem from changes in the way
-            Windows XP creates WebFolder shortcuts (
-            <filename>.lnk</filename> files).  It sometimes replaces
-            the URL of the WebDAV share with a Windows
-            <quote>UNC</quote> (Universal Naming Convention) path
-            instead.  This causes Explorer to attempt a connection
-            using SMB instead of HTTP.</para>
-            
-          <para>A workaround for this problem is to create the
-            <filename>.lnk</filename> shortcut on a Windows 2000
-            computer and then copy this shortcut to the Windows XP
-            computer.  It would probably also be possible to
-            <quote>fix</quote> the shortcut using a HEX editor, if
-            one were to reverse-engineer the <filename>.lnk</filename>
-            file format.</para>
+          <para>Add a new network place.</para>
         </listitem>
 
         <listitem>
-          <para>A file can't be opened for direct editing from the
-            share; it always comes up read-only.  The mod_dav_lock
-            technique doesn't help, because WebFolders doesn't use the
-            <literal>LOCK</literal> method at all.  The previously
-            mentioned <quote>copy, edit, re-copy</quote> method does
-            work, however.  The file on the share can be successfully
-            overwritten by a locally edited copy.</para>
+          <para>When prompted, enter the URL of the repository, but
+            <emphasis>include a port number</emphasis> in the URL.
+            For example, <literal>http://host/repos</literal> would be
+            entered as <literal>http://host:80/repos</literal> instead.
+          </para>
         </listitem>
 
+        <listitem>
+          <para>Respond to any authentication prompts.</para>
+        </listitem>
+
+      </orderedlist>
+
+      <para>There are a number of other rumored workarounds to the
+        problems, but none of them seem to work on all versions and
+        patchlevels of Windows XP.  In our tests, only the previous
+        algorithm seems to work consistently on every system.  The
+        general consensus of the WebDAV community is:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Avoid the new Webfolders implementation, use the old
+          one.</para>
+        </listitem>
+
+        <listitem>
+          <para>If you need real a real filesystem-level client for
+            Windows XP, then use either WebDrive or NetDrive.</para>
+        </listitem>
       </itemizedlist>
 
+      <para>Both WebDrive and NetDrive are excellent commercial
+        products which allows a WebDAV share to be attached as drive
+        letters.  We've had nothing but success with these products.
+        At the time of writing, WebDrive can be purchased from South
+        River Technologies (<ulink
+        url="http://www.southrivertech.com"/>).  NetDrive ships with
+        Netware, is free of charge, and can be found by searching the
+        web for <quote>netdrive.exe</quote>.  (If that sounds odd to
+        you, you're not alone.  See this page on Novell's website:
+        <ulink
+        url="http://www.novell.com/coolsolutions/qna/999.html"/>)</para>
+
     </sect2>
 
-    <sect2 id="svn-ap-c-sect-3.2">
-      <title>Mac OS X</title>
 
-      <para>Apple's OS X operating system has an integrated WebDAV
-        client.  From the Finder, select the <quote>Connect to
-          Server</quote> item from the Go menu.  Enter a WebDAV URL,
-        and it appears as a disk on the desktop, just like any file
-        server.<footnote><para>Unix users can also run <command>mount
-        -t webdav URL /mountpoint</command>.</para></footnote></para>
-      
-      <para>Unfortunately, this client refuses to work against an
-        autoversioning mod_dav_svn because of its lack of
-        <literal>LOCK</literal> support.  Mac OS X discovers the
-        missing <literal>LOCK</literal> ability during the initial
-        HTTP <literal>OPTIONS</literal> feature exchange, and thus
-        decides to mount the Subversion repository as a read-only
-        share.  After that, no write operations are possible at all.
-        In order to mount the repository as a read-write share, you
-        <emphasis>must</emphasis> use the mod_dav_lock trick discussed
-        previously.  Once locking seems to work, the share behaves
-        very nicely: files can be opened directly in read/write mode,
-        although each save operation will cause the client to do a
-        <literal>PUT</literal> to a temporary location, a
-        <literal>DELETE</literal> of original file, and a
-        <literal>MOVE</literal> of the temporary resource to the
-        original filename.  That's three new Subversion revisions per
-        save!</para>
-
-      <para>One more word of warning: OS X's WebDAV client can be
-        overly sensitive to HTTP redirects.  If you're unable to mount
-        the repository at all, you may need to enable the
-        <literal>BrowserMatch</literal> directive in your
+    <sect2 id="svn.webdav.clients.macosx">
+      <title>Mac OS X</title> 
+
+      <para>Apple's OS X operating system has an integrated
+        filesystem-level WebDAV client. From the Finder, select the
+        "Connect to Server" item from the Go menu.  Enter a WebDAV
+        URL, and it appears as a disk on the desktop, just like any
+        other mounted volume.<footnote><para>From the Darwin terminal,
+        one can also run <literal>mount -t webdav URL
+        /mountpoint</literal></para></footnote>.</para>
+
+      <para>Note that if your mod_dav_svn is older than version 1.2,
+        OS X will refuse to mount the share as read-write; it will
+        appear as read-only.  This is because the OS X insists on
+        locking support for read-write shares, and the ability to lock
+        files first appeared in Subversion 1.2.</para>
+
+      <para>One more word of warning: OS X's WebDAV client can
+        sometimes be overly sensitive to HTTP redirects. If OS X is
+        unable to mount the repository at all, you may need to enable
+        the BrowserMatch directive in the Apache server's
         <filename>httpd.conf</filename>:</para>
 
-              <screen>
+      <screen>
 BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
 </screen>
 
     </sect2>
 
-    <sect2 id="svn-ap-c-sect-3.3">
-      <title>Unix: Nautilus 2</title>
+
+    <sect2 id="svn.webdav.clients.linux-de">
+      <title>Nautilus, Konqueror</title> 
 
       <para>Nautilus is the official file manager/browser for the
-        GNOME desktop.  Its main home page is at <systemitem
-        class="url">http://www.gnome.org/projects/nautilus/</systemitem>.
-        By simply typing a WebDAV URL into the Nautilus window,
-        the DAV share appears like a local filesystem.</para>
+        GNOME desktop (<ulink url="http://www.gnome.org"/>), and
+        Konqueror is the manager/browser for KDE desktop (<ulink
+        url="http://www.kde.org"/>).  Both of these applications have
+        an explorer-level WebDAV client built-in, and operate just
+        fine against an autoversioning repository.</para>
+
+      <para>In GNOME's Nautilus, from the File menu, select
+        <quote>Open location</quote> and enter the URL.  The
+        repository should then be displayed like any other
+        filesystem.</para>
+
+      <para>In KDE's Konqueror, you need to use the
+        <literal>webdav://</literal> scheme when entering the URL in
+        the location bar.  If you enter an <literal>http://</literal>
+        URL, Konqueror will behave like an ordinary web browser.
+        You'll likely see the generic HTML directory listing produced
+        by mod_dav_svn.  By entering
+        <literal>webdav://host/repos</literal> instead of
+        <literal>http://host/repos</literal>, Konqueror becomes a
+        WebDAV client and displays the repository as a
+        filesystem.</para>
 
-      <para>In general, Nautilus 2 works reasonably well against an
-        autoversioning mod_dav_svn, with the following caveats:</para>
+    </sect2>
 
-      <itemizedlist>
+    <sect2 id="svn.webdav.clients.linux-fs">
+      <title>Linux davfs2</title> 
 
-        <listitem>
-          <para>Any files opened directly from the share are treated
-            as read-only.  Even the mod_dav_lock trick seems to have
-            no effect.  It seems that Nautilus never issues the
-            <literal>LOCK</literal> method at all.  The <quote>copy
-            locally, edit, copy back</quote> trick does work, however.
-            Unfortunately, Nautilus overwrites the old file by issuing
-            a <literal>DELETE</literal> first, which creates an extra
-            revision.</para>
-        </listitem>
+      <para>Linux davfs2 is a filesystem module for the Linux kernel,
+        whose development is located at <ulink
+        url="http://dav.sourceforge.net/"/>. Once installed, a WebDAV
+        network share can be mounted with the usual Linux mount
+        command:</para>
 
-        <listitem>
-          <para>When overwriting or creating a file , Nautilus first
-            does a <literal>PUT</literal> of an empty file, then
-            overwrites it with a second <literal>PUT</literal>.  This
-            creates two Subversion filesystem revisions, rather than
-            one.</para>
-        </listitem>
+      <screen>
+mount.davfs http://host/repos /mnt/dav
+</screen>
 
-        <listitem>
-          <para>When deleting a collection, it issues an HTTP
-            <literal>DELETE</literal> on each individual child instead
-            of on the collection itself.  This creates a whole bunch of
-            new revisions.</para>
-        </listitem>
+    </sect2>
 
-      </itemizedlist>
+    <sect2 id="svn.webdav.clients.free-apps">
+      <title>Cadaver, DAV Explorer</title>
 
-    </sect2>
+      <para>Cadaver is a bare-bones Unix commandline program for
+        browsing and changing WebDAV shares.  Like the Subversion
+        client, it uses the neon HTTP library — not
+        surprisingly, both neon and cadaver are written by the same
+        author.  Cadaver is free sofware (GPL license) and is
+        available at <ulink
+        url="http://www.webdav.org/cadaver/"/>.</para>
+
+      <para>Using cadaver is similar to using a commandline FTP
+        program, and thus it's extremely useful for basic WebDAV
+        debugging.  It can be used to upload or download files in a
+        pinch, and also to examine properties, copy, move, lock or
+        unlock files:</para>
+      
+      <screen>
+$ cadaver http://host/repos
+dav:/repos/> ls
+Listing collection `/repos/': succeeded.
+Coll: > foobar                                 0  May 10 16:19
+      > playwright.el                       2864  May  4 16:18
+      > proofbypoem.txt                     1461  May  5 15:09
+      > westcoast.jpg                      66737  May  5 15:09
+
+dav:/repos/> put README
+Uploading README to `/repos/README':
+Progress: [=============================>] 100.0% of 357 bytes succeeded.
+
+dav:/repos/> get proofbypoem.txt
+Downloading `/repos/proofbypoem.txt' to proofbypoem.txt:
+Progress: [=============================>] 100.0% of 1461 bytes succeeded.
+</screen>
 
-    <sect2 id="svn-ap-c-sect-3.4">
-      <title>Linux davfs2</title>
+      <para>DAV Explorer is another standalone WebDAV client, written
+        in Java.  It's under a free Apache-like license and is
+        available at <ulink url="http://www.ics.uci.edu/~webdav/"/>.
+        DAV Explorer does everything cadaver does, but has the
+        advantages of being portable and being more user-friendly GUI
+        application.  It's also one of the first clients to support
+        the new WebDAV Access Control Protocol (RFC 3744).</para>
+
+      <para>Of course, DAV Explorer's ACL support is useless in this
+        case, since mod_dav_svn doesn't support it.  The fact that
+        both Cadaver and DAV Explorer support some limited DeltaV
+        commands isn't particularly useful either, since they don't
+        allow <literal>MKACTIVITY</literal> requests.  But it's not
+        relevant anyway; we're assuming all of these clients are
+        operating against an autoversioning repository.</para>
 
-      <para>Linux davfs2 is a filesystem module for the Linux kernel,
-        whose development is located at <systemitem
-        class="url">http://dav.sourceforge.net/</systemitem>.  Once
-        installed, a WebDAV network share can be mounted with the
-        usual Linux <command>mount</command> command.</para>
-
-      <para>The word on the street is that this DAV client doesn't
-        work at all with mod_dav_svn's autoversioning.  Every single
-        attempt to write to the server is preceded by a
-        <literal>LOCK</literal> request, which mod_dav_svn doesn't
-        support.  At this time, there is no data indicating whether
-        the use of mod_dav_lock resolves this problem.</para>
+    </sect2>
+    
+    <sect2 id="svn.webdav.clients.win-apps">
+      <title>Microsoft Office, Dreamweaver, Photoshop</title> 
+
+      <para>These are large well-known applications that contain
+        integrated WebDAV client functionality.  They're able to
+        directly open a URL, save to a URL, and tend to make heavy use
+        of WebDAV locks when editing a file.</para>
+
+      <para>It appears that only the Windows versions of these
+        programs support WebDAV.  On Mac OS X, the
+        <quote>File->Open</quote> dialog box doesn't allow one to type
+        a path or URL at all.  It's likely that the the WebDAV
+        features were deliberately left out of Macintosh versions of
+        these programs, since OS X already provides such excellent
+        low-level filesystem support for WebDAV.</para>
 
     </sect2>
 

Modified: trunk/src/ru/book/appd.xml
==============================================================================
--- trunk/src/ru/book/appd.xml	(original)
+++ trunk/src/ru/book/appd.xml	Sun May 29 04:30:18 2005
@@ -1,11 +1,11 @@
-<appendix id="svn-ap-d">
+<appendix id="svn.3rdparty">
   <title>Third Party Tools</title>
 
   <simplesect>
 
     <para>Subversion's modular design (covered in <xref
-      linkend="svn-ch-8-sect-1"/>) and the availability of language
-      bindings (as described in <xref linkend="svn-ch-8-sect-2.3"/>)
+      linkend="svn.developer.layerlib"/>) and the availability of language
+      bindings (as described in <xref linkend="svn.developer.usingapi.otherlangs"/>)
       make it a likely candidate for use as an extension or backend to
       other pieces of software.  In this appendix, we'll briefly
       introduce you to some of the many third-party tools that are
@@ -20,7 +20,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 1:  CLIENTS AND PLUGINS                             *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ap-d-sect-1">
+  <sect1 id="svn.3rdparty.clients-and-plugins">
     <title>Clients and Plugins</title>
 
     <variablelist>
@@ -121,7 +121,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 2:  LANGUAGE BINDINGS                               *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ap-d-sect-2">
+  <sect1 id="svn.3rdparty.bindings">
     <title>Language Bindings</title>
 
     <variablelist>
@@ -153,7 +153,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 3:  REPOSITORY CONVERTERS                           *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ap-d-sect-3">
+  <sect1 id="svn.3rdparty.repos-converters">
     <title>Repository Converters</title>
 
     <variablelist>
@@ -182,7 +182,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 4:  HIGHER LEVEL TOOLS                              *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ap-d-sect-4">
+  <sect1 id="svn.3rdparty.higher-level">
     <title>Higher Level Tools</title>
 
     <variablelist>
@@ -238,7 +238,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 5:  REPOSITORY BROWSING TOOLS                       *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ap-d-sect-5">
+  <sect1 id="svn.3rdparty.repos-browsers">
     <title>Repository Browsing Tools</title>
 
     <variablelist>

Modified: trunk/src/ru/book/book.xml
==============================================================================
--- trunk/src/ru/book/book.xml	(original)
+++ trunk/src/ru/book/book.xml	Sun May 29 04:30:18 2005
@@ -3,6 +3,7 @@
 [
 <!ENTITY % vers   SYSTEM "version.xml">
 %vers;
+<!ENTITY ruGloss  SYSTEM "ruGlossary.xml">
 <!ENTITY foreword SYSTEM "foreword.xml">
 <!ENTITY ch00     SYSTEM "ch00.xml">
 <!ENTITY ch01     SYSTEM "ch01.xml">
@@ -21,12 +22,21 @@
 <!ENTITY license  SYSTEM "copyright.xml">
 ]>
 
+<!-- @ENGLISH {{{
 <book id="svn">
+ at ENGLISH }}} -->
+<book id="svn" lang="ru">
+  <!-- @ENGLISH {{{
   <title>Version Control with Subversion</title>
+  @ENGLISH }}} -->
+  <title>Управление версиями в Subversion</title>
 
   <!-- Using revnumber would be more appropriate, but our stylesheets -->
   <!-- don't seem to render it. -->
-  <subtitle>For Subversion 1.1</subtitle>
+  <!-- @ENGLISH {{{
+  <subtitle>For Subversion 1.2</subtitle>
+  @ENGLISH }}} -->
+  <subtitle>Для Subversion 1.2</subtitle>
   <subtitle>(book compiled from &svn.version;)</subtitle>
 
   <bookinfo>
@@ -80,6 +90,7 @@
 
   <!-- External entity refs -->
 
+  &ruGloss;
   &foreword;
   &ch00;
   &ch01;

Modified: trunk/src/ru/book/ch00.xml
==============================================================================
--- trunk/src/ru/book/ch00.xml	(original)
+++ trunk/src/ru/book/ch00.xml	Sun May 29 04:30:18 2005
@@ -1,14 +1,18 @@
-<preface id="svn-ch-0">
+<preface id="svn.preface">
+  <!-- @ENGLISH {{{
   <title>Preface</title>
-  
+  @ENGLISH }}} -->
+  <title>Введение</title>
+
   <simplesect>
-    
+
     <blockquote>
       <para><quote>If C gives you enough rope to hang yourself, think
         of Subversion as a sort of rope storage facility.</quote>
         —Brian W. Fitzpatrick</para>
     </blockquote>
 
+    <!-- @ENGLISH {{{
     <para>In the world of open-source software, the Concurrent
       Versions System (CVS) has long been the tool of choice for
       version control.  And rightly so.  CVS itself is free software,
@@ -20,7 +24,20 @@
       semi-chaotic development model have become cornerstones of
       open-source culture.
     </para>
+    @ENGLISH }}} -->
+    <para>В мире программного обеспечения с открытым исходным кодом долгое
+      время инструментом для контроля версий была Concurrent Versions System
+      <footnote><para>Concurrent Versions System - Система Параллельного
+      Управления Версиями</para></footnote>(CVS). И на то есть причины.
+      CVS является свободным программным обеспечением, и ее не ограниченная
+      свобода действий и возможность сетевой работы - которая позволяет
+      огромному количеству географически разделенных программистов работать
+      совместно - прекрасно подходят коллективной натуре мира
+      open-source. CVS и ее полу-хаотическая модель разработки стала
+      краеугольным камнем open-source культуры.
+    </para>
 
+	<!-- @ENGLISH {{{
     <para>But like many tools, CVS is starting to show its age.
       Subversion is a relatively new version control system designed
       to be the successor to CVS.  The designers set out to win the
@@ -31,7 +48,19 @@
       version control design, Subversion <emphasis>is</emphasis> very
       powerful, very usable, and very flexible.
     </para>
+	@ENGLISH }}} -->
+	<para>Однако, как и другие программы, CVS стареет. Subversion - это
+      относительно новая система контроля версий разработанная на смену CVS.
+      Для завоевания симпатий пользователей CVS разработчики двигаются в
+      двух направлениях: создают open-source систему с архитектурой (и
+      <quote>look and feel</quote>) подобной CVS, и пытаются исправить как
+      можно больше известных недостатков CVS. На ряду с тем, что результатом
+      не обязательно будет новый виток в подходе к контролю версий,
+      Subversion <emphasis>является</emphasis> очень мощным, очень удобным
+      и очень гибким инструментом.
+	</para>
 
+    <!-- @ENGLISH {{{
     <para>This book is written to document the 1.1 series of the
       Subversion version control system.  We have made every attempt to be
       thorough in our coverage.  However, Subversion has a thriving
@@ -40,6 +69,14 @@
       of Subversion that may change some of the commands and specific
       notes in this book.
     </para>
+    @ENGLISH }}} -->
+    <para>Эта книга написана для документирования 1.1 серии системы контроля
+      версий Subversion. Мы попытались охватить как можно больше. Однако
+      Subversion имеет развитое и энергичное сообщество разработчиков,
+      по-этому уже есть множество фич и усовершенствований, запланированных
+      для будущих версий Subversion, которые могут изменить некоторые команды
+      и соответствующие части этой книги.
+    </para>
 
   </simplesect>
 
@@ -47,10 +84,14 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-0-sect-1">
+  <sect1 id="svn.preface.audience">
 
+    <!-- @ENGLISH {{{
     <title>Audience</title>
-    
+    @ENGLISH }}} -->
+    <title>К читателю</title>
+
+    <!-- @ENGLISH {{{
     <para>This book is written for computer-literate folk who want to
       use Subversion to manage their data.  While Subversion runs on a
       number of different operating systems, its primary user
@@ -59,7 +100,18 @@
       book.  For consistency, the examples in this book assume the
       reader is using a Unix-like operating system, and is relatively
       comfortable with Unix and command-line interfaces.</para>
+    @ENGLISH }}} -->
+    <para>Эта книга написана для компьютерно-грамотных людей которые, для
+      управления своей информацией хотели бы использовать Subversion. Так как
+      Subversion работает на различных операционных системах, первичным
+      пользовательским интерфейсом для нее является командная строка. Именно
+      такой CLI инструмент (<command>svn</command>) и используется в этой
+      книге. Для сохранения единого стиля, примеры в книге рассчитаны на
+      читателя, использующего Unix-подобную операционную систему и
+      относительно свободно чувствующего себя с Unix и CLI интерфейсами.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>That said, the <command>svn</command> program also runs on
       non-Unix platforms like Microsoft Windows.  With a few minor
       exceptions, such as the use of backward slashes
@@ -69,7 +121,17 @@
       Unix counterpart.  However, Windows users may find more success
       by running the examples inside the Cygwin Unix emulation
       environment.</para>
+    @ENGLISH }}} -->
+    <para>Как уже говорилось, программа <command>svn</command> работает и
+      на не-Unix платформах подобных Microsoft Windows. С небольшими
+      исключениями, такими, как использование обратных слешей
+      (<literal>\</literal>) вместо прямых (<literal>/</literal>) при
+      указании путей, ввод и вывод этой программы при работе под Windows
+      идентичен ее Unix-двойнику. Однако, для Windows-пользователей, удобнее
+      выполнять примеры в среде эмуляции Unix - Cygwin.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>Most readers are probably programmers or sysadmins who need
       to track changes to source code.  This is the most common use
       for Subversion, and therefore it is the scenario underlying all
@@ -77,29 +139,59 @@
       changes to any sort of information: images, music, databases,
       documentation, and so on.  To Subversion, all data is just
       data.</para>
-    
+    @ENGLISH }}} -->
+    <para>Большинство возможных читателей - программисты или сисадмины которым
+      необходимо отслеживать изменения исходного кода. Это - самое общее
+      использование для Subversion, и по-этому этот сценарий лежит в основе
+      всех примеров книги. Не смотря на это Subversion можно применить для
+      управления изменениями информации любого сорта: рисунки, музыка, базы
+      данных, документация, и так далее. Для Subversion любая информация -
+      это просто информация.
+    </para>
+
+    <!-- @ENGLISH {{{
     <para>While this book is written with the assumption that the
       reader has never used version control, we've also tried to make
       it easy for users of CVS to make a painless leap into
       Subversion.  Special sidebars may discuss CVS from time to time,
       and a special appendix summarizes most of the differences
       between CVS and Subversion.</para>
+    @ENGLISH }}} -->
+    <para>Хотя эта книга и написана с предположением о том, что читатель
+      никогда не использовал контроль версий, мы попытались облегчить
+      пользователям CVS выполнение безболезненного прыжка в Subversion. CVS
+      время от времени обсуждается в специальных заметках и специальное
+      приложение подытоживает большинство различий между CVS и Subversion.
+    </para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-0-sect-2">
+  <sect1 id="svn.preface.howread">
+    <!-- @ENGLISH {{{
     <title>How to Read this Book</title>
+    @ENGLISH }}} -->
+    <title>Как читать эту книгу</title>
 
+    <!-- @ENGLISH {{{
     <para>This book aims to be useful to people of widely different
       backgrounds—from people with no previous experience in
       version control to experienced sysadmins.  Depending on your own
       background, certain chapters may be more or less important to
       you.  The following can be considered a <quote>recommended
       reading list</quote> for various types of readers:</para>
+    @ENGLISH }}} -->
+    <para>Цель книги - быть полезной для людей с самым разным уровнем
+      подготовки - от не имеющих предварительного опыта в контроле версий до
+      продвинутых сисадминов. В зависимости от вашего уровня подготовки
+      отдельные главы могут быть важны для вас в большей или меньшей степени.
+      Нижеследующее можно рассматривать как <quote>рекомендуемую
+      последовательность прочтения</quote> для читателей различных групп.
+    </para>
 
+    <!-- @ENGLISH {{{
     <variablelist>
       <varlistentry>
         <term>Experienced sysadmins</term>
@@ -113,7 +205,22 @@
             drawing on your CVS experience.</para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+    <variablelist>
+      <varlistentry>
+        <term>Опытные сисадмины</term>
+        <listitem>
+          <para>Это предполагает что, возможно, до этого вы использовали CVS и
+            смертельно хотите как можно скорее получить установленный и
+            настоечный Subversion-сервер. Главы 5 и 6 покажут вам как создать
+            ваш первый репозиторий и открыть к нему сетевой доступ. После
+            выполнения этого, при наличии у вас CVS опыта, глава 3 и
+            приложение А - кратчайший путь для изучения Subversion-клиента.
+          </para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>New users</term>
         <listitem>
@@ -125,7 +232,19 @@
             the best place to start.</para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Новые пользователи</term>
+        <listitem>
+          <para>Возможно ваш администратор установил Subversion и вам нужно
+            научиться использовать клиент. Если вы никогда не использовали
+            систему контроля версий (такую как CVS), главы 2 и 3 - необходимое
+            введение. Давним пользователям CVS лучше всего начинать с
+            главы 3 и приложения А.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Advanced users</term>
         <listitem>
@@ -139,7 +258,21 @@
             you're comfortable with the basics.</para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Продвинутые пользователи</term>
+        <listitem>
+          <para>Не зависимо от того - пользователь вы или администратор, ваш
+            проект будет разрастаться. Вы захотите узнать как делать в
+            Subversion более сложные вещи, например, как использовать ветки
+            и выполнять сливания (глава 4), как использовать поддержку свойств
+            в Subversion, как настроить рантайм опции (глава 7), и другие
+            вопросы. Главы 4 и 7 не нужны поначалу но обязательно прочтите их
+            когда разоберетесь с основами.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Developers</term>
         <listitem>
@@ -149,94 +282,186 @@
         </listitem>
       </varlistentry>
     </variablelist>
+    @ENGLISH }}} -->
+      <varlistentry>
+        <term>Разработчики</term>
+        <listitem>
+          <para>Вероятно вы уже тесно познакомились с Subversion и теперь
+            хотите либо дополнить ее либо на основе ее многочисленных API
+            <footnote><para>Application Program Interface - Интерфейс
+            Прикладного Программирования</para></footnote> построить свой
+            проект. Глава 8 - это то, что вам нужно.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
 
+    <!-- @ENGLISH {{{
     <para>The book ends with reference material—chapter 9 is a
       reference guide for all Subversion commands, and the appendices
       cover a number of useful topics.  These are the chapters you're
       mostly likely to come back to after you've finished the
       book.</para>
+    @ENGLISH }}} -->
+    <para>Заканчивается книга справочным материалом - глава 9 представляет
+      собой справочное руководство по всем командам Subversion, несколько
+      полезных тем раскрыто в приложениях. К этим разделам вы будете чаще всего
+      обращаться после прочтения книги.
+    </para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-0-sect-3">
+  <sect1 id="svn.preface.conventions">
+    <!-- @ENGLISH {{{
     <title>Conventions Used in This Book</title>
-    
+    @ENGLISH }}} -->
+    <title>Принятые в книге соглашения</title>
+
+    <!-- @ENGLISH {{{
     <para>This section covers the various conventions used in this
       book.</para>
-    
+    @ENGLISH }}} -->
+    <para>В этом разделе рассмотрены различные используемые в книге
+      соглашения.</para>
+
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-0-sect-3.1">
+    <sect2 id="svn.preface.conventions.typo">
+      <!-- @ENGLISH {{{
       <title>Typographic Conventions</title>
-      
+      @ENGLISH }}} -->
+      <title>Типографские соглашения</title>
+
       <variablelist>
-        
+
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term><command>Constant width</command></term>
           <listitem>
             <para>Used for commands, command output, and switches</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term><command>Моноширинный</command></term>
+          <listitem>
+            <para>Используется для записи команд, результата их выполнения и
+              ключей командной строки</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term><replaceable>Constant width italic</replaceable></term>
           <listitem>
             <para>Used for replaceable items in code and text</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term><replaceable>Моноширинный с курсивом</replaceable></term>
+          <listitem>
+            <para>Используется в коде и тексте для подставляемых
+              элементов</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term><filename>Italic</filename></term>
           <listitem>
             <para>Used for file and directory names</para>
           </listitem>
         </varlistentry>
-        
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term><filename>Курсив</filename></term>
+          <listitem>
+            <para>Используется для имен файлов и директорий</para>
+          </listitem>
+        </varlistentry>
+
       </variablelist>
 
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-0-sect-3.2">
+    <sect2 id="svn.preface.conventions.icons">
+      <!-- @ENGLISH {{{
       <title>Icons</title>
+      @ENGLISH }}} -->
+      <title>Пиктограммы</title>
 
+      <!-- @ENGLISH {{{
       <note>
         <para>This icon designates a note relating to the surrounding
           text.</para>
       </note>
+      @ENGLISH }}} -->
+      <note>
+        <para>Эта пиктограмма обозначает замечание относящиеся к окружающему
+          тексту.</para>
+      </note>
 
+      <!-- @ENGLISH {{{
       <tip>
         <para>This icon designates a helpful tip relating to the surrounding
           text.</para>
       </tip>
+      @ENGLISH }}} -->
+      <tip>
+        <para>Эта пиктограмма обозначает полезный совет, относящиеся
+          к окружающему тексту.</para>
+      </tip>
 
+      <!-- @ENGLISH {{{
       <warning>
         <para>This icon designates a warning relating to the surrounding
           text.</para>
       </warning>
+      @ENGLISH }}} -->
+      <warning>
+        <para>Эта пиктограмма обозначает предупреждение относящиеся
+          к окружающему тексту.</para>
+      </warning>
     </sect2>
 
+    <!-- @ENGLISH {{{
     <para>Note that the source code examples are just
       that—examples. While they will compile with the proper
       compiler incantations, they are intended to illustrate the
       problem at hand, not necessarily serve as examples of good
       programming style.</para>
+    @ENGLISH }}} -->
+    <para>Обратите внимание на то, что примеры исходного кода являются именно
+      тем, чем являются - примерами. Не смотря на то, что при определенных
+      шаманских навыках можно заставить компилятор их откомпилировать они
+      предназначены для иллюстрации проблемы, а не для того чтобы служить
+      примерами хорошего стиля программирования.
+    </para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-0-sect-4">
+  <sect1 id="svn.preface.organization">
+    <!-- @ENGLISH {{{
     <title>Organization of This Book</title>
+    @ENGLISH }}} -->
+    <title>Организация книги</title>
 
+    <!-- @ENGLISH {{{
     <para>The chapters that follow and their contents are listed
       here:</para>
+    @ENGLISH }}} -->
+    <para>Здесь перечислены последующие главы и их содержание:
+    </para>
 
       <variablelist>
-        
+
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 1, <emphasis>Introduction</emphasis></term>
           <listitem>
@@ -245,7 +470,18 @@
               methods.  Also includes a quick-start guide.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 1, <emphasis>Введение</emphasis></term>
+          <listitem>
+            <para>Охватывает историю Subversion а так же ее возможности,
+              архитектуру, компоненты, и методы установки. Кроме того включает
+              руководство по быстрому старту.</para>
+          </listitem>
+        </varlistentry>
+
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 2, <emphasis>Basic Concepts</emphasis></term>
           <listitem>
@@ -254,7 +490,17 @@
               working copies, and revisions.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 2, <emphasis>Основные понятия</emphasis></term>
+          <listitem>
+            <para>Объясняет - на примере таких объектов Subversion как
+              репозиторий, рабочие копии и ревизии - основы контроля версий и
+              различных моделей версионирования.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 3, <emphasis>Guided Tour</emphasis></term>
           <listitem>
@@ -263,7 +509,17 @@
               modify, and commit data.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 3, <emphasis>Вводный курс</emphasis></term>
+          <listitem>
+            <para>Проводит через один день жизни пользователя Subversion.
+              Демонстрирует как использовать Subversion при получении,
+              изменении, и фиксации информации.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 4, <emphasis>Branching and Merging</emphasis></term>
           <listitem>
@@ -273,7 +529,18 @@
               from one branch to the next.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 4, <emphasis>Ветвление и слияние</emphasis></term>
+          <listitem>
+            <para>Обсуждает ветвления, слияния, и присваивание тегов, включает
+              рассмотрение лучших методов для ветвления и слияния, общие
+              случаи использования, и как легко переключаться с одной ветки на
+              другую.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 5, <emphasis>Repository
             Administration</emphasis></term>
@@ -283,7 +550,18 @@
               the tools you can use to do all of this.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 5, <emphasis>Администрирование репозитория
+            </emphasis></term>
+          <listitem>
+            <para>Описывает основы рапозитория Subversion и инструменты,
+              для того, что бы создать, настроить и поддерживать
+              репозиторий.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 6, <emphasis>Server Configuration</emphasis></term>
           <listitem>
@@ -295,7 +573,18 @@
               access.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 6, <emphasis>Настройка сервера</emphasis></term>
+          <listitem>
+            <para>Объясняет как настроить ваш Subversion-сервер и три способа
+              получения доступа к репозиторию: <literal>HTTP</literal>,
+              протокол <literal>svn</literal> и локальный доступ. Охватывает
+              детали аутентификации, авторизации и анонимного доступа.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 7, <emphasis>Advanced Topics</emphasis></term>
           <listitem>
@@ -306,7 +595,18 @@
               lastly, how to handle vendor branches.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 7, <emphasis>Продвинутые функции</emphasis></term>
+          <listitem>
+            <para>Разворачивает конфигурационные файлы Subversion-клиента,
+              свойства файлов и директорий, как в рабочей копии игнорировать
+              файлы, как в рабочую копию включить внешние деревья, и
+              наконец, как использовать ветви поставщика.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 8, <emphasis>Developer Information</emphasis></term>
           <listitem>
@@ -318,7 +618,19 @@
               to contribute to the development of Subversion.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 8, <emphasis>Разработчику</emphasis></term>
+          <listitem>
+            <para>Описывает внутреннее устройство Subversion, файловую систему
+              Subversion и служебные области рабочей копии с точки зрения
+              программиста. Показывает использование публичных API при написании
+              программ использующих Subversion и, что самое главное, как
+              посодействовать разработке Subversion.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Chapter 9, <emphasis>Subversion Complete
             Reference</emphasis></term>
@@ -329,7 +641,19 @@
               the whole family!</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Глава 9, <emphasis>Полное справочное
+              рукководство по Subversion</emphasis></term>
+          <listitem>
+            <para>Во всех подробностях, с обилием примеров, объясняет
+              каждую субкоманду <command>svn</command>,
+              <command>svnadmin</command> и  <command>svnlook</command>.
+            </para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Appendix A, <emphasis>Subversion for CVS
             Users</emphasis></term>
@@ -344,7 +668,22 @@
               conflict resolution, and authentication.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Приложение A, <emphasis>Subversion для пользователей
+              CVS</emphasis></term>
+          <listitem>
+            <para>Охватывает сходства и различия между Subversion и CVS,
+              приводит большое количество рекомендаций, как избавиться ото
+              всех вредных привычек, приобретенных за годы пользования CVS.
+              Включая описание нумерации ревизий в Subversion, версионирование
+              директорий, оффлайн-операции, <command>update</command> vs.
+              <command>status</command>, ветки, теги, метаданные, разрешение
+              конфликтов, и аутентификация</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Appendix B, <emphasis>Troubleshooting</emphasis></term>
           <listitem>
@@ -352,7 +691,16 @@
               building Subversion.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Приложение B, <emphasis>Диагностика</emphasis></term>
+          <listitem>
+            <para>Проблемы и сложности использования и сборки Subversion.
+            </para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Appendix C, <emphasis>WebDAV and
             Autoversioning</emphasis></term>
@@ -362,7 +710,18 @@
               mounted read/write as a DAV share.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Приложение C, <emphasis>WebDAV и автоматическое управление
+              версиями</emphasis></term>
+          <listitem>
+            <para>Описывает детали WebDAV и DeltaV и настройку
+              Subversion-репозитория при подключении его в режиме чтения/записи
+              как совмесно используемый DAV-ресурс.</para>
+          </listitem>
+        </varlistentry>
 
+        <!-- @ENGLISH {{{
         <varlistentry>
           <term>Appendix D, <emphasis>Third Party Tools</emphasis></term>
           <listitem>
@@ -371,6 +730,16 @@
               browser tools, and so on.</para>
           </listitem>
         </varlistentry>
+        @ENGLISH }}} -->
+        <varlistentry>
+          <term>Приложение D, <emphasis>Инструменты сторонних
+              разработчиков</emphasis></term>
+          <listitem>
+            <para>Обсуждает программы, которые используют или поддерживают
+              Subversion, включая программы-клиенты, обозреватели репозитория
+              и тому подобные.</para>
+          </listitem>
+        </varlistentry>
 
     </variablelist>
 
@@ -379,15 +748,25 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4b ============================= -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-0-sect-4b">
+  <sect1 id="svn.preface.new-1-1">
+    <!-- @ENGLISH {{{
     <title>New in Subversion 1.1</title>
+    @ENGLISH }}} -->
+    <title>Новое в Subversion 1.1</title>
 
+    <!-- @ENGLISH {{{
     <para>This edition of the book has been updated to cover new
       features and behavioral changes in Subversion 1.1.  Here's a
       brief list of pointers to major 1.1 changes.</para>
+    @ENGLISH }}} -->
+    <para>Что бы охватить новые особенности и поведенческие изменения
+      в Subversion 1.1, эта редакция книги была скорректирована. Вот краткий
+      перечень главных изменений версии 1.1.
+    </para>
 
     <variablelist>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Non-database repositories</term>
         <listitem>
@@ -397,21 +776,47 @@
             custom file format.  These repositories aren't susceptible
             to <quote>wedging</quote>, but also aren't as well-tested
             as Berkeley DB repositories.  See <xref
-            linkend="svn-ch-5-sect-1.3"/>.</para>
+            linkend="svn.reposadmin.basics.backends"/>.</para>
+        </listitem>
+      </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Не-БД репозитории</term>
+        <listitem>
+          <para>Теперь можно создавать репозитории, не использующие базу
+            данных BerkeleyDB. Вместо этого, такие репозитории хранят
+            информацию в обычной файловой системе используя собственный
+            файловый формат. Такие репозитории не восприимчивы к
+            <quote>заклиниванию</quote> но и, вместе с этим, не так хорошо
+            оттестированы, как BerkeleyDB репозитории. См. <xref
+            linkend="svn.reposadmin.basics.backends"/>.</para>
         </listitem>
       </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Symbolic link versioning</term>
         <listitem>
           <para>Unix users can now create symbolic links and place
             them under version control with the <command>svn
             add</command> command.  See <xref
-            linkend="svn-ch-9-sect-1.2-re-add"/> and <xref
-            linkend="svn-ch-7-sect-2.3.7"/>.</para>
+            linkend="svn.ref.svn.c.add"/> and <xref
+            linkend="svn.advanced.props.special.special"/>.</para>
+        </listitem>
+      </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Версионирование символьных ссылок</term>
+        <listitem>
+          <para>Теперь Unix-пользователи могут создать символьные ссылки и,
+            при помощи команды <command>svn add</command> поместить их
+            под контроль системы. См. <xref
+            linkend="svn.ref.svn.c.add"/> и <xref
+            linkend="svn.advanced.props.special.special"/>.</para>
         </listitem>
       </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Client follows copies and renames</term>
         <listitem>
@@ -426,7 +831,23 @@
             older versions of files and directories.</para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Клиент отслеживает копирования и переименования</term>
+        <listitem>
+          <para>Ветки (копии) файлов и директорий сохраняют исторические
+            связи с источником, но в Subversion 1.0 только
+            <command>svn log</command> когда-либо отслеживала эту
+            историю копирований/переименований, а такие команды как
+            <command>svn diff</command>, <command>svn merge</command>,
+            <command>svn list</command>, или <command>svn cat</command> -
+            нет. В Subversion 1.1 все субкоманды клиента теперь прозрачно
+            прослеживают копирования и переименования опрашивая старые версии
+            файлов и директорий.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Client auto-escaping of URIs and IRIs</term>
         <listitem>
@@ -443,7 +864,25 @@
             space/project/españa"</literal></para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Автоподстановка клиентом управляющих последовательностей
+          в URI и IRI</term>
+        <listitem>
+          <para>В версии 1.0 CLI клиента пользователи подставляли управляющие
+            символы в URL вручную. Клиент принимал только <quote>юридически
+            правильные</quote> URL, такие как <literal>
+            http://host/path%20with%20space/project/espa%F1a</literal>.
+            CLI клиент версии 1.1 теперь знает как делать то, что уже давно
+            делают веб-браузеры - автоматически подставляет управляющие
+            последовательности вместо таких символов, как пробелы и буквы с
+            ударением, если пользователь заключает, для защиты от шела, URL в
+            кавычки: <literal>"http://host/path with
+            space/project/españa"</literal></para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Localized user messages</term>
         <listitem>
@@ -458,7 +897,23 @@
             <literal>de_DE</literal>).</para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Локализованые пользовательские сообщения</term>
+        <listitem>
+          <para>Сейчас Subversion 1.1 использует
+            <literal>gettext()</literal> для показа пользователю переведенных
+            сообщений об ошибках, информационных и справочных сообщений. На
+            данный момент существуют переводы на немецкий, испанский, польский,
+            шведский, традиционный китайский, японский, бразильский
+            португальский и норвежский Bokmal. Для локализации своего Subversion
+            клиента просто установите в командной оболочке переменную окружения
+            LANG равной значению поддерживаемой локали (например,
+            <literal>de_DE</literal>).</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Shareable working copies</term>
         <listitem>
@@ -467,16 +922,38 @@
             believed to be fixed now.</para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Общие рабочие копии</term>
+        <listitem>
+          <para>Существует давняя проблема с разрешениями, когда рабочую
+            копию делят несколько пользователей, хотелось бы верить, что
+            теперь она решена.
+          </para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term><literal>store-passwords</literal> run-time variable</term>
         <listitem>
           <para>This is a new runtime variable which only disables
             password caching, so that server certificates can still be
-            cached.  See <xref linkend="svn-ch-7-sect-1.3.2"/>.</para>
+            cached.  See <xref linkend="svn.advanced.confarea.opts.config"/>.</para>
+        </listitem>
+      </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Рантайм переменная <literal>store-passwords</literal></term>
+        <listitem>
+          <para>Это новая рантайм переменная, которая просто запрещает
+            кеширование пароля, однако серверные сертификаты можно продолжать
+            кешировать. См. <xref
+            linkend="svn.advanced.confarea.opts.config"/>.</para>
         </listitem>
       </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Optimizations and bug fixes</term>
         <listitem>
@@ -489,37 +966,53 @@
             </systemitem>).</para>
         </listitem>
       </varlistentry>
+      @ENGLISH }}} -->
+      <varlistentry>
+        <term>Оптимизации и багфиксы</term>
+        <listitem>
+          <para>Команды <command>svn checkout</command>, <command>svn
+          update</command>, <command>svn status</command> и
+          <command>svn blame</command> стали быстрее. Было исправлено
+          более пятидесяти не больших ошибок, все описаны в CHANGES-файле
+          проекта (<systemitem
+          class="url">http://svn.collab.net/repos/svn/trunk/CHANGES
+          </systemitem>).</para>
+        </listitem>
+      </varlistentry>
 
       <varlistentry>
+        <!-- @ENGLISH {{{
         <term>New command switches</term>
+        @ENGLISH }}} -->
+        <term>Новые параметры командной строки</term>
         <listitem>
           <itemizedlist>
             <listitem><para><command>svn blame --verbose</command>: see
-            <xref linkend="svn-ch-9-sect-1.2-re-blame"/>.
+            <xref linkend="svn.ref.svn.c.blame"/>.
             </para></listitem>
 
             <listitem><para><command>svn export --native-eol EOL</command>: see
-            <xref linkend="svn-ch-9-sect-1.2-re-export"/>.
+            <xref linkend="svn.ref.svn.c.export"/>.
             </para></listitem>
-            
+
             <listitem><para><command>svn add --force</command>: see
-            <xref linkend="svn-ch-9-sect-1.2-re-add"/>.
+            <xref linkend="svn.ref.svn.c.add"/>.
             </para></listitem>
 
             <listitem><para><command>svnadmin dump --deltas</command>: see
-            <xref linkend="svn-ch-5-sect-3.5"/>.
+            <xref linkend="svn.reposadmin.maint.migrate"/>.
             </para></listitem>
 
             <listitem><para><command>svnadmin create --fs-type TYPE</command>: see
-            <xref linkend="svn-ch-9-sect-2.2-re-create"/>.
+            <xref linkend="svn.ref.svnadmin.c.create"/>.
             </para></listitem>
 
             <listitem><para><command>svnadmin recover --wait</command>: see
-            <xref linkend="svn-ch-9-sect-2.2-re-recover"/>.
+            <xref linkend="svn.ref.svnadmin.c.recover"/>.
             </para></listitem>
 
             <listitem><para><command>svnserve --tunnel-user=NAME</command>: see
-            <xref linkend="svn-ch-9-sect-4.1"/>.
+            <xref linkend="svn.ref.svnserve.sw"/>.
             </para></listitem>
           </itemizedlist>
         </listitem>
@@ -531,47 +1024,81 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 5 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-0-sect-5">
+  <sect1 id="svn.preface.free">
+    <!-- @ENGLISH {{{
     <title>This Book is Free</title>
+    @ENGLISH }}} -->
+    <title>Эта книга является свободно-распространяемой</title>
 
+    <!-- @ENGLISH {{{
     <para>This book started out as bits of documentation written by
       Subversion project developers, which were then coalesced into a
       single work and rewritten.  As such, it has always been under a
-      free license.  (See <xref linkend="svn-copyright"/>.)  In fact,
+      free license.  (See <xref linkend="svn.copyright"/>.)  In fact,
       the book was written in the public eye, as a part of Subversion.
       This means two things:</para>
+    @ENGLISH }}} -->
+    <para>Эта книга берет начало из написанных разработчиками проекта Subversion
+      обрывков документации, которые затем были объединены в одну работу и
+      переписаны. Как следствие, она всегда будет под свободной лицензией.
+      (См. <xref linkend="svn.copyright"/>.) Книга была написана, фактически,
+      публично, как часть Subversion. Это означает две вещи:
+    </para>
 
     <itemizedlist>
       <listitem>
+        <!-- @ENGLISH {{{
         <para>You will always find the latest version of this book in
           the book's own Subversion repository.</para>
+        @ENGLISH }}} -->
+        <para>Последнюю версию этой книги вы всегда найдете в собственном
+          Subversion-репозитории книги.</para>
       </listitem>
 
       <listitem>
+        <!-- @ENGLISH {{{
         <para>You can distribute and make changes to this book however
           you wish—it's under a free license.  Of course,
           rather than distribute your own private version of this
           book, we'd much rather you send feedback and patches to the
           Subversion developer community.  See <xref
-          linkend="svn-ch-8-sect-6"/> to learn about joining this
+          linkend="svn.developer.contrib"/> to learn about joining this
           community.</para>
+        @ENGLISH }}} -->
+        <para>Вы можете распространять и вносить изменения в книгу по своему
+          усмотрению - книга под свободной лицензией. Предпочтительнее, конечно,
+          если вместо распространения вашей собственной версии вы будете
+          присылать отзывы и патчи Subversion-сообществу. Как стать участником
+          сообщества - см. <xref linkend="svn.developer.contrib"/>
+        </para>
       </listitem>
     </itemizedlist>
-    
+
+    <!-- @ENGLISH {{{
     <para>You can send publishing comments and questions to O'Reilly
       here: ###insert boilerplate.</para>
+    @ENGLISH }}} -->
+    <para>Комментарии и вопросы по публикации вы можете направлять в
+      издательство O'Reilly: ###insert boilerplate.</para>
 
+    <!-- @ENGLISH {{{
     <para>A relatively recent online version of this book can be found
       at <systemitem
       class="url">http://svnbook.red-bean.com</systemitem>.</para>
+    @ENGLISH }}} -->
+    <para>Относительно новую онлайн-версию книги можно найти здесь <systemitem
+      class="url">http://svnbook.red-bean.com</systemitem></para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 6 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-0-sect-6">
+  <sect1 id="svn.preface.acks">
+    <!-- @ENGLISH {{{
     <title>Acknowledgments</title>
+    @ENGLISH }}} -->
+    <title>Благодарости</title>
 
     <para>This book would not be possible (nor very useful) if
       Subversion did not exist.  For that, the authors would like to
@@ -610,7 +1137,7 @@
       Blair Zajac, and the entire Subversion community.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-0-sect-6.1">
+    <sect2 id="svn.preface.acks.sussman">
       <title>From Ben Collins-Sussman</title>
 
       <para>Thanks to my wife Frances, who, for many months, got to
@@ -618,7 +1145,7 @@
         rather than the usual, <quote>But honey, I'm still doing
         email.</quote>  I don't know where she gets all that patience!
         She's my perfect counterbalance.</para>
-      
+
       <para>Thanks to my extended family for their sincere
         encouragement, despite having no actual interest in the
         subject.  (You know, the ones who say, <quote>Ooh, you're
@@ -631,7 +1158,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-0-sect-6.2">
+    <sect2 id="svn.preface.acks.fitz">
       <title>From Brian W. Fitzpatrick</title>
 
       <para>Huge thanks to my wife Marie for being incredibly
@@ -657,7 +1184,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-0-sect-6.3">
+    <sect2 id="svn.preface.acks.cmpilato">
       <title>From C. Michael Pilato</title>
 
       <para>Special thanks to my wife, Amy, for her love and patient
@@ -687,7 +1214,7 @@
 </preface>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "chapter")
 end:
--->
+-->
\ No newline at end of file

Modified: trunk/src/ru/book/ch01.xml
==============================================================================
--- trunk/src/ru/book/ch01.xml	(original)
+++ trunk/src/ru/book/ch01.xml	Sun May 29 04:30:18 2005
@@ -1,8 +1,12 @@
-<chapter id="svn-ch-1">
+<chapter id="svn.intro">
 
+  <!-- @ENGLISH {{{
   <title>Introduction</title>
+  @ ENGLISH }}} -->
+  <title>Введение</title>
 
   <simplesect>
+    <!-- @ENGLISH {{{
     <para>Version control is the art of managing changes to
       information.  It has long been a critical tool for programmers,
       who typically spend their time making small changes to software
@@ -12,9 +16,24 @@
       computers to manage information that changes often, there is
       room for version control.  And that's where Subversion comes
       into play.</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 - что это,
+      что она делает, как ее получить.
+    </para>
 
   </simplesect>
 
@@ -22,10 +41,14 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-1-sect-1">
+  <sect1 id="svn.intro.whatis">
 
+    <!-- @ENGLISH {{{
     <title>What is Subversion?</title>
-      
+    @ ENGLISH }}} -->
+    <title>Что такое Subversion?</title>
+
+    <!-- @ENGLISH {{{
     <para>Subversion is a free/open-source version control system.
       That is, Subversion manages files and directories over time.  A
       tree of files is placed into a central
@@ -36,7 +59,19 @@
       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 - это свободная/open-source система контроля версий.
+      То есть, Subversion управляет файлами и директориями во времени.
+      Дерево файлов размещено в центральном <firstterm>репозитории
+      </firstterm>. Репозиторий очень похож на обычный файл-сервер
+      за исключением того, что он запоминает любые сделанные в файлах
+      или директориях изменения. Это вам позволяет восстанавливать
+      старые версии ваших данных или исследовать хронологию изменения
+      данных. В этом отношении, многие думают о системе контроля версий
+      как о своего рода <quote>машине времени</quote>.
+    </para>
+
+    <!-- @ENGLISH {{{
     <para>Subversion can access its repository across networks, which
       allows it to be used by people on different computers.  At some
       level, the ability for various people to modify and manage the
@@ -46,7 +81,19 @@
       the work is versioned, you need not fear that quality is the
       trade-off for losing that conduit—if some incorrect change
       is made to the data, just undo that change.</para>
+    @ ENGLISH }}} -->
+    <para>К своему репозиторию Subversion может получить доступ через
+      сеть, что позволяет его использование людям на разных компьютерах.
+      В какой-то степени возможность, предоставляемая различным людям
+      изменять и управлять одной и той же информацией, не зависимо от их
+      местоположения, поощряет сотрудничество. Без контролирующего звена,
+      через которое происходят все изменения, становится возможным более
+      быстрое развитие. При потере такого звена вам не следует опасаться
+      потери качества благодаря версионированию работы - при внесении в
+      информацию ошибочных изменений просто сделайте откат этих изменений.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>Some version control systems are also software configuration
       management (SCM) systems.  These systems are specifically
       tailored to manage trees of source code, and have many features
@@ -58,16 +105,35 @@
       files might be source code—for others, anything from
       grocery shopping lists to digital video mixdowns and
       beyond.</para>
+    @ ENGLISH }}} -->
+    <para>Некоторые системы контроля версий являются к тому же системами
+       управления конфигурацией ПО (SCM<footnote>
+       <para>SCM - software configuration management systems</para>
+       </footnote>).Такие системы специально заточены для управления
+       деревьями исходного кода и имеют множество специфичных для
+       разработки ПО возможностей - близки к конкретному языку
+       программирования или предоставляют инструменты для сборки
+       программы. Однако Subversion - это не такая система. Она является
+       системой общего назначения которая может использоваться для управления
+       <emphasis>любым</emphasis> набором файлов. Для вас эти файлы могут
+       быть исходным кодом - для других чем угодно, начиная от списков
+       покупок в бакалейном магазине до сведенных цифровых видео роликов и
+       так далее.
+    </para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-1-sect-2">
+  <sect1 id="svn.intro.history">
 
+    <!-- @ENGLISH {{{
     <title>Subversion's History</title>
+    @ ENGLISH }}} -->
+    <title>История Subversion</title>
 
+    <!-- @ENGLISH {{{
     <para>In early 2000, CollabNet, Inc. (<systemitem
       class="url">http://www.collab.net</systemitem>) began seeking
       developers to write a replacement for CVS.  CollabNet offers a
@@ -82,7 +148,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 }}} -->
+    <para>В начале 2000 года CollabNet, Inc. (<systemitem
+      class="url">http://www.collab.net</systemitem>) начинала поиск
+      разработчиков для написания замены CVS. CollabNet предлагает
+      программный комплекс для совместной работы под названием SourceCast,
+      одним из компонентов которого является контроль версий. Несмотря на
+      то, что SourceCast изначально использовал в качестве системы контроля
+      версий CVS, с самого начала были очевидны ограничения CVS и CollabNet
+      зная это, хотела со временем найти что-нибудь получше. К сожалению,
+      в мире открытых исходников CVS стала стандартом <foreignphrase>де-факто
+      </foreignphrase>, в значительной степени из-за <emphasis>отсутствия
+      </emphasis> чего-либо лучше, даже под не свободной лицензией.
+      По-этому CollabNet решила написать с нуля новую систему контроля версий
+      сохраняя основные идеи CVS, за исключением багов и неправильных свойств.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>In February 2000, they contacted Karl Fogel, the author of
       <citetitle>Open Source Development with CVS</citetitle>
       (Coriolis, 1999), and asked if he'd like to work on this new
@@ -107,7 +189,32 @@
       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 года они обратились к автору <citetitle>Open Source
+      Development with CVS</citetitle>, Карлу Фогелю [Karl Fogel], и сприсили
+      не хотел бы он работать в этом новом проекте. По случайности, Карл в то
+      время уже обсуждал со своим другом, Джимом Бланди [Jim Blandy], проект
+      новой системы контроля версий. В 1995 году они в двоем основали Cyclic
+      Software, компанию, обеспечивающую поддержку CVS, и несмотря на то, что
+      позже они продали бизнес, в своей ежедневной работе они все еще
+      использовали CVS. Их разочарование CVS сподвигло Jim всерьез задуматься
+      о лучших способах управления версионированой информацией и он придумал
+      уже не только название <quote>Subversion</quote> но и основные принципы
+      построения репозитория Subversion. После предложения CollabNet Карл сразу
+      согласился работать в проекте, а Джим у своего работодателя, RedHat
+      Software, получил возможность непосредственного своего участия в проекте
+      на неограниченный период времени. CollabNet наняла на работу Карла и
+      Бена Коллинза-Сьюзмена [Ben Collins-Sussman] и в мае началась детальная
+      разработка. Subversion быстро сформировала сообщество активных
+      разработчиков в результате нескольких удачных шагов Брайаном Беклдорфом
+      [Brian Behlendorf], Джейсоном Робинсом [Jason Robbins] из CollabNet и
+      Грегом Штейном [Greg Stein] (на тот момент независимый разработчик,
+      принимающий активное участие в создании спецификации WebDAV/DeltaV).
+      Оказалось, что многие имели такой же печальный опыт и приветствовали
+      шанс наконец что-нибудь с этим сделать.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>The original design team settled on some simple goals.  They
       didn't want to break new ground in version control methodology,
       they just wanted to fix CVS.  They decided that Subversion would
@@ -116,12 +223,30 @@
       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 мог без особых затруднений переключиться на Subversion.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>After fourteen months of coding, Subversion became
       <quote>self-hosting</quote> on August 31, 2001.  That is,
       Subversion developers stopped using CVS to manage Subversion's
       own source code, and started using Subversion instead.</para>
+    @ ENGLISH }}} -->
+    <para>После четырнадцати месяцев кодинга, 31 августа 2001 года,
+      Subversion стала <quote>само-поддерживаемой</quote>. То есть
+      разработчики Subversion прекратили использование CVS для управления
+      исходным кодом Subversion и начали использовать для этого Subversion.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>While CollabNet started the project, and still funds a large
       chunk of the work (it pays the salaries of a few full-time
       Subversion developers), Subversion is run like most open-source
@@ -131,27 +256,54 @@
       words, anyone is free to download, modify, and redistribute
       Subversion as he pleases; no permission from CollabNet or anyone
       else is required.</para>
+    @ ENGLISH }}} -->
+    <para>Не смотря на то, что CollabNet запустила проект и продолжает
+      вести большой кусок работы (оплачивает полный рабочий день
+      нескольких разработчиков) Subversion выполнена как большинство
+      open-source проектов, управляемая свободным, прозрачным набором
+      правил поощряющих меритократию. Лицензия CollabNet полностью
+      соответствует Debian Free Software Guidelines. Другими словами,
+      кто угодно может скачать, изменить и распространять Subversion
+      по своему усмотрению; разрешения от CollabNet или кого-то другого
+      не требуются.
+    </para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-1-sect-3">
+  <sect1 id="svn.intro.features">
 
+    <!-- @ENGLISH {{{
     <title>Subversion's Features</title>
+    @ ENGLISH }}} -->
+    <title>Возможности Subversion</title>
 
+    <!-- @ENGLISH {{{
     <para>When discussing the features that Subversion brings to the
       version control table, it is often helpful to speak of them in
       terms of how they improve upon CVS's design.  If you're not
       familiar with CVS, you may not understand all of these features.
       And if you're not familiar with version control at all, your
       eyes may glaze over unless you first read <xref
-      linkend="svn-ch-2"/>, in which we provide a gentle introduction
+      linkend="svn.basic"/>, in which we provide a gentle introduction
       to version control in general.</para>
+    @ ENGLISH }}} -->
+    <para>При обсуждении возможностей которые Subversion приносить к столу
+      контроля версий часто полезно говорить о них в разрезе их преимуществ
+      в сравнении с CVS. Вы можете не понять всех этих возможностей если вы
+      плохо знакомы с CVS. Ну а если вы совсем не знакомы контролем версий,
+      прочтите сначала <xref linkend="svn.basic"/> в которой мы приводим
+      обшее введение в контроль версий.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>Subversion provides:</para>
+    @ ENGLISH }}} -->
+    <para>Subversion предусматривает:</para>
 
+    <!-- @ENGLISH {{{
     <variablelist>
       <varlistentry>
         <term>Directory versioning</term>
@@ -163,11 +315,25 @@
             versioned.</para>
         </listitem>
       </varlistentry>
+      @ ENGLISH }}} -->
+      <variablelist>
+        <varlistentry>
+          <term>Версионирование директорий</term>
+          <listitem>
+            <para>CVS отслеживает историю только для отдельных файлов,
+              а Subversion обеспечивает <quote>виртуальную</quote>
+              версионированую файловую систему которая отслеживает
+              во времени изменения всего дерева директорий.
+              Версионируются и файлы <emphasis>и</emphasis>
+              директории.</para>
+          </listitem>
+        </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>True version history</term>
         <listitem>
-          <para>Since CVS is limited to file versioning, operations
+          Since CVS is limited to file versioning, operations
             such as copies and renames—which might happen to
             files, but which are really changes to the contents of
             some containing directory—aren't supported in CVS.
@@ -180,7 +346,24 @@
             history all its own.</para>
         </listitem>
       </varlistentry>
+      @ ENGLISH }}} -->
+      <varlistentry>
+        <term>Истинная история версий</term>
+        <listitem>
+          <para>CVS ограничивается версионированием файлов, такие операции,
+            как копирования и переименования - относящиеся к файлам, но
+            на самом деле изменяющие состав содержащей их директории - в
+            CVS не поддерживаются. Кроме того в CVS вы не можете заменить
+            версионированый файл каким-либо новым без наследования новым
+            элементом истории старого - возможно совершенно с ним не
+            связанного. В Subversion вы можете добавить, удалить, скопировать
+            и переименовать как файлы так и директории. И каждый вновь
+            добавленный файл начинает свою собственную, свежую, чистую
+            историю.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Atomic commits</term>
         <listitem>
@@ -192,7 +375,19 @@
             repository.</para>
         </listitem>
       </varlistentry>
+      @ ENGLISH }}} -->
+      <varlistentry>
+        <term>Атомарные фиксации</term>
+        <listitem>
+          <para>Набор изменений либо полностью попадает в репозиторий ,
+            либо не попадает вовсе. Разработчикам это позволяет
+            создавать и фиксировать изменения в виде логических блоков,
+            предотвращая проблемы, которые могут возникнуть при частичной
+            отправке в репозиторий набора изменений.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Versioned metadata</term>
         <listitem>
@@ -203,7 +398,19 @@
             like file contents.</para>
         </listitem>
       </varlistentry>
+      @ ENGLISH }}} -->
+      <varlistentry>
+        <term>Версионированые метаданные</term>
+        <listitem>
+          <para>Каждый файл и директория имеет набор свойств - ключей
+            и их значений - ассоциированных с ними. Вы можете по своему
+            усмотрению создавать и сохранять любые случайные пары
+            ключ/значение. Свойства версионируются во времени так же как
+            содержимое файлов.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Choice of network layers</term>
         <listitem>
@@ -220,7 +427,25 @@
             SSH.</para>
         </listitem>
       </varlistentry>
+      @ ENGLISH }}} -->
+      <varlistentry>
+        <term>Выбор способов сетевого доступа</term>
+        <listitem>
+          <para>У Subversion абстрактно понятие доступа к репозиторию, что
+            делает систему легкой для реализации новых сетевых механизмов.
+            Subversion можно подключить к HTTP-серверу Apache как модуль
+            расширения. Это дает Subversion большое преимущество в
+            стабильности и способности к взаимодействию, а так же прямой
+            доступ к существующим возможностям обеспечивающимся этим
+            сервером - аутентификация, авторизация, канальное сжатие
+            и так далее. Кроме того существует более легковесный,
+            самостоятельный Subversion-сервер. Этот сервер использует
+            собственный протокол общения который можно легко тунелировать
+            через SSH.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Consistent data handling</term>
         <listitem>
@@ -232,7 +457,20 @@
             directions across the network.</para>
         </listitem>
       </varlistentry>
+      @ ENGLISH }}} -->
+      <varlistentry>
+        <term>Единообразная обработка информации</term>
+        <listitem>
+          <para>Различия файлов Subversion выделяет используя бинарный
+            алгоритм дифференциации, который работает одинаково как для
+            текстовых (пригодных для чтения) так и двоичных (для
+            чтения не пригодных) файлов. Файлы обоих типов в репозитории
+            хранятся сжатыми, а различия через сеть передаются в обоих
+            направлениях.</para>
+        </listitem>
+      </varlistentry>
 
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Efficient branching and tagging</term>
         <listitem>
@@ -244,7 +482,20 @@
           </para>
         </listitem>
       </varlistentry>
-      
+      @ ENGLISH }}} -->
+      <varlistentry>
+        <term>Эффективное ветвление и меткирование</term>
+        <listitem>
+          <para>Плата за ветвление и меткирование не должна быть
+            пропорциональна размеру проекта. Ветки и теги Subversion
+            создает простым копированием проекта, используя механизм,
+            подобный жестким ссылкам. По-этому эти операции занимают
+            очень не большое, фиксированное время.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <!-- @ENGLISH {{{
       <varlistentry>
         <term>Hackability</term>
         <listitem>
@@ -255,6 +506,17 @@
             languages.</para>
         </listitem>
       </varlistentry>
+      @ ENGLISH }}} -->
+      <varlistentry>
+        <term>Хакеропригодность</term>
+        <listitem>
+          <para>Subversion не имеет исторического багажа, она реализована
+            как набор разделяемых С-библиотек с хорошо определенным API.
+            Это делает Subversion чрезвычайно удобной в сопровождении и
+            пригодной для использования другими приложениями и языками.
+          </para>
+        </listitem>
+      </varlistentry>
 
     </variablelist>
 
@@ -263,19 +525,31 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-1-sect-4">
+  <sect1 id="svn.intro.architecture">
 
+    <!-- @ENGLISH {{{
     <title>Subversion's Architecture</title>
+    @ ENGLISH }}} -->
+    <title>Архитектура Subversion</title>
 
-    <para><xref linkend="svn-ch-1-dia-1"/> illustrates what one might
+    <!-- @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>
-    
-    <figure id="svn-ch-1-dia-1">
+    @ ENGLISH }}} -->
+    <para><xref linkend="svn.intro.architecure.dia-1"/> иллюстрирует то,
+      что можно назвать взглядом на конструкцию Subversion <quote>в первом
+      приближении</quote>.</para>
+
+    <figure id="svn.intro.architecure.dia-1">
+      <!-- @ENGLISH {{{
       <title>Subversion's Architecture</title>
+      @ ENGLISH }}} -->
+      <title>Архитектура Subversion</title>
       <graphic fileref="images/ch01dia1.png"/>
     </figure>
 
+    <!-- @ENGLISH {{{
     <para>On one end is a Subversion repository that holds all of your
       versioned data.  On the other end is your Subversion client
       program, which manages local reflections of portions of that
@@ -285,22 +559,45 @@
       networks and through network servers which then access the
       repository.  Others bypass the network altogether and access the
       repository directly.</para>
+    @ ENGLISH }}} -->
+    <para>С одной стороны находится Subversion репозиторий который содержит
+      всю вашу версионированую информацию. С другой стороны ваша
+      клиентская программа которая локально управляет частью этой
+      версионированой информации (называемой <quote>рабочая
+      копиия</quote>). Между этими крайностями множество путей через разные
+      уровни доступа к репозиторию<footnote><para>Repository Access
+      (RA) layers</para></footnote>. Одна группа этих путей проходит
+      через компьютерные сети и сервера которые обращаются к репозиторию.
+      Другая группа не использует сеть и к репозиторию обращается напрямую.
+    </para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 5 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-1-sect-5">
+  <sect1 id="svn.intro.install">
 
+    <!-- @ENGLISH {{{
     <title>Installing Subversion</title>
+    @ ENGLISH }}} -->
+    <title>Установка Subversion</title>
 
+    <!-- @ENGLISH {{{
     <para>Subversion is built on a portability layer called APR (the
       Apache Portable Runtime library).  This means Subversion should
       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 }}} -->
+    <para>Subversion построена на портабельном слое под названием
+      APR (the Apache Portable Runtime library). Это означает, что
+      Subversion должна работать на любой операционной системе на которой
+      работет httpd сервер Apache:  Windows, Linux, все разновидности BSD,
+      MacOS X, Netware и другие.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>The easiest way to get Subversion is to download a binary
       package built for your operating system.  Subversion's website
       (<systemitem
@@ -311,7 +608,19 @@
       operating system, you can use your system's native package
       distribution system (RPMs, DEBs, the ports tree, etc.) to get
       Subversion.</para>
+    @ ENGLISH }}} -->
+    <para>Наиболее простой способ получить Subversion - скачать бинарный
+      пакет, собранный для вашей операционной системы. Как правило, эти
+      пакеты присланные волонтерами, доступны для загрузки с веб-сайта
+      Subversion (<systemitem
+      class="url">http://subversion.tigris.org</systemitem>). Сайт обычно
+      содержит графичиский инсталятор для пользователей операционных
+      систем Microsoft. Если вы используете Unix-подобную ОС то для получения
+      Subversion вы можете использовать пакетную систему, специфичную для
+      вашей системы (RPM, DEB, ports tree и т. д.).
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>Alternately, you can build Subversion directly from source
       code.  From the Subversion website, download the latest
       source-code release.  After unpacking it, follow the
@@ -326,22 +635,48 @@
       If you plan to work on Subversion itself, you can use your
       client program to grab the latest, bleeding-edge source code.
       This is documented in <xref
-      linkend="svn-ch-8-sect-6.2"/>.</para>
+      linkend="svn.developer.contrib.get-code"/>.</para>
+    @ ENGLISH }}} -->
+    <para>В качестве альтернативного варианта вы можете построить Subversion
+      прямо из исходного кода. Закачайте с web-сайта Subversion последний
+      source-code релиз. После его распаковки для его сборки
+      следуйте инструкциям в файле <filename>INSTALL</filename>. Обратите
+      внимание, что такой пакет содержит все необходимое для сборки CLI-клиента
+      способного работать с удаленным репозиторием (обычно это библиотеки apr,
+      apr-util и  neon). Однако некоторые опциональные части Subversion имеют
+      много других зависимостей, таких как Berkeley DB и возможно Apache httpd.
+      Если вы хотите выполнить полную сборку, убедитесь, что у вас есть все
+      пакеты, указанные в файле <filename>INSTALL</filename>. Если вы хотите
+      самостоятельно поработать над Subversion вы можете при помощи вашей
+      клиентской программы вытащить самую последнюю версию исходного кода. Как
+      это сделать описано в <xref linkend="svn.developer.contrib.get-code"/>.
+    </para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 6 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-1-sect-6">
+  <sect1 id="svn.intro.components">
 
+    <!-- @ENGLISH {{{
     <title>Subversion's Components</title>
-    
+    @ ENGLISH }}} -->
+    <title>Компоненты Subversion</title>
+
+    <!-- @ENGLISH {{{
     <para>Subversion, once installed, has a number of different
       pieces.  The following is a quick overview of what you get.
       Don't be alarmed if the brief descriptions leave you scratching
       your head—there are <emphasis>plenty</emphasis> more pages
       in this book devoted to alleviating that confusion.</para>
+    @ ENGLISH }}} -->
+    <para>Установленная Subversion имеет определенное количество компонентов.
+      Ниже перечисленное - краткий обзор того, что вы получаете. Не тревожьтесь
+      если краткие описания заставляют вас чесать затылок, в этой книге есть
+      еще <emphasis>много</emphasis> страниц, посвященных облегчению
+      этого беспорядка.
+    </para>
 
     <variablelist>
       <varlistentry>
@@ -403,7 +738,7 @@
 
     <para>Assuming you have Subversion installed correctly, you should
       be ready to start.  The next two chapters will walk you through
-      the use of <command>svn</command>, Subversion's command-line client 
+      the use of <command>svn</command>, Subversion's command-line client
       program.</para>
 
   </sect1>
@@ -412,10 +747,14 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 7 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-1-sect-7">
+  <sect1 id="svn.intro.quickstart">
 
+    <!-- @ENGLISH {{{
     <title>A Quick Start</title>
-    
+    @ ENGLISH }}} -->
+    <title>Быстрый старт</title>
+
+    <!-- @ENGLISH {{{
     <para>Some people have trouble absorbing a new technology by
       reading the sort of <quote>top down</quote> approach provided by this
       book.  This section is a very short introduction to Subversion, and is
@@ -424,10 +763,20 @@
       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 }}} -->
+    <para>Некоторые испытывают трудности поглощения новой технологии
+      читая приближение <quote>с верху вниз</quote>, предлагаемое этой
+      книгой. Этот раздел представляет собой очень короткое введение в
+      Subversion и предназначен для того, что бы помочь изучающим
+      <quote>снизу в верх</quote>. Если вы из тех, кто предпочитает
+      учиться на экспериментах то последующая демонстрация поможет
+      вам начать. По ходу дела мы давали ссылки на соответствующие
+      главы книги.
+    </para>
 
     <para>If you're new to the entire concept of version control or to
       the <quote>copy-modify-merge</quote> model used by both CVS and
-      Subversion, then you should read <xref linkend="svn-ch-2"/>
+      Subversion, then you should read <xref linkend="svn.basic"/>
       before going any further.</para>
 
     <note>
@@ -458,11 +807,11 @@
       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-ch-5"/>.</para>
+      see <xref linkend="svn.reposadmin"/>.</para>
 
     <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-ch-4"/>), your structure should contain three
+      <xref linkend="svn.branchmerge"/>), your structure should contain three
       top-level directories named <filename>branches</filename>,
       <filename>tags</filename>, and
       <filename>trunk</filename>:</para>
@@ -479,7 +828,7 @@
 
     <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-ch-3-sect-7.3"/>):</para>
+      command (see <xref linkend="svn.tour.other.import"/>):</para>
 
     <screen>
 $ svn import /tmp/project file:///path/to/repos -m "initial import"
@@ -491,7 +840,7 @@
 Adding         /tmp/project/trunk/Makefile
 …
 Committed revision 1.
-$ 
+$
 </screen>
 
     <para>Now the repository contains this tree of data.  Note that
@@ -538,11 +887,11 @@
     </itemizedlist>
 
     <para>For a full tour of all the things you can do with your
-      working copy, read <xref linkend="svn-ch-3"/>.</para>
+      working copy, read <xref linkend="svn.tour"/>.</para>
 
     <para>At this point, you have the option of making your repository
       available to others over a network.  See <xref
-      linkend="svn-ch-6"/> to learn about the different sorts of
+      linkend="svn.serverconfig"/> to learn about the different sorts of
       server processes available and how to configure them.</para>
 
   </sect1>
@@ -551,7 +900,7 @@
 </chapter>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "chapter")
 end:
--->
+-->
\ No newline at end of file

Modified: trunk/src/ru/book/ch02.xml
==============================================================================
--- trunk/src/ru/book/ch02.xml	(original)
+++ trunk/src/ru/book/ch02.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-2">
+<chapter id="svn.basic">
   <title>Basic Concepts</title>
 
   <simplesect>
@@ -16,7 +16,7 @@
   </simplesect>
   
   
-  <sect1 id="svn-ch-2-sect-1">
+  <sect1 id="svn.basic.repository">
     <title>The Repository</title>  
     
     <para>Subversion is a centralized system for sharing information.
@@ -28,9 +28,9 @@
       then read or write to these files.  By writing data, a client
       makes the information available to others; by reading data, the
       client receives information from others.  <xref
-      linkend="svn-ch-2-dia-1"/> illustrates this.</para>
+      linkend="svn.basic.repository.dia-1"/> illustrates this.</para>
 
-    <figure id="svn-ch-2-dia-1">
+    <figure id="svn.basic.repository.dia-1">
       <title>A typical client/server system</title>
       <graphic fileref="images/ch02dia1.png"/>
     </figure>
@@ -58,14 +58,14 @@
     </para>
   </sect1>
 
-  <sect1 id="svn-ch-2-sect-2">
+  <sect1 id="svn.basic.vsn-models">
     <title>Versioning Models</title>
 
     <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>
     
-    <sect2 id="svn-ch-2-sect-2.1">
+    <sect2 id="svn.basic.vsn-models.problem-sharing">
       <title>The Problem of File-Sharing</title>
       
       <para>All version control systems have to solve the same
@@ -76,7 +76,7 @@
         repository.</para>
 
       <para>Consider the scenario shown in <xref
-        linkend="svn-ch-2-dia-2"/>.  Suppose we have two co-workers,
+        linkend="svn.basic.vsn-models.problem-sharing.dia-1"/>.  Suppose we have two co-workers,
         Harry and Sally.  They each decide to edit the same repository
         file at the same time.  If Harry saves his changes to the
         repository first, then it's possible that (a few moments
@@ -90,14 +90,14 @@
         latest version of the file—and probably by accident.
         This is definitely a situation we want to avoid!</para>
 
-      <figure id="svn-ch-2-dia-2">
+      <figure id="svn.basic.vsn-models.problem-sharing.dia-1">
         <title>The problem to avoid</title>
         <graphic fileref="images/ch02dia2.png"/>
       </figure>
 
       </sect2>
     
-    <sect2 id="svn-ch-2-sect-2.2">
+    <sect2 id="svn.basic.vsn-models.lock-unlock">
       <title>The Lock-Modify-Unlock Solution</title>
       
       <para>Many version control systems use a
@@ -112,10 +112,10 @@
         the file, and wait for Harry to finish his changes and release
         his lock.  After Harry unlocks the file, his turn is over, and
         now Sally can take her turn by locking and editing.  <xref
-        linkend="svn-ch-2-dia-3"/> demonstrates this simple
+        linkend="svn.basic.vsn-models.lock-unlock.dia-1"/> demonstrates this simple
         solution.</para>
       
-      <figure id="svn-ch-2-dia-3">
+      <figure id="svn.basic.vsn-models.lock-unlock.dia-1">
         <title>The lock-modify-unlock solution</title>
         <graphic fileref="images/ch02dia3.png"/>
       </figure>
@@ -170,7 +170,7 @@
 
       </sect2>
 
-    <sect2 id="svn-ch-2-sect-2.3">
+    <sect2 id="svn.basic.vsn-models.copy-merge">
       <title>The Copy-Modify-Merge Solution</title>
       
       <para>Subversion, CVS, and other version control systems use a
@@ -198,15 +198,15 @@
         file A.  Chances are that Sally's changes don't overlap with
         his own; so once he has both sets of changes integrated, he
         saves his working copy back to the repository.  <xref
-        linkend="svn-ch-2-dia-4"/> and <xref linkend="svn-ch-2-dia-5"/>
+        linkend="svn.basic.vsn-models.copy-merge.dia-1"/> and <xref linkend="svn.basic.vsn-models.copy-merge.dia-2"/>
         show this process.</para>
 
-      <figure id="svn-ch-2-dia-4">
+      <figure id="svn.basic.vsn-models.copy-merge.dia-1">
         <title>The copy-modify-merge solution</title>
         <graphic fileref="images/ch02dia4.png"/>
       </figure>
       
-      <figure id="svn-ch-2-dia-5">
+      <figure id="svn.basic.vsn-models.copy-merge.dia-2">
         <title>The copy-modify-merge solution (continued)</title>
         <graphic fileref="images/ch02dia5.png"/>
       </figure>
@@ -247,14 +247,14 @@
   </sect1>
   
   <!-- How svn implements the philosophy -->
-  <sect1 id="svn-ch-2-sect-3">
+  <sect1 id="svn.basic.in-action">
     <title>Subversion in Action</title>
     
     <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>
 
-    <sect2 id="svn-ch-2-sect-3.1">
+    <sect2 id="svn.basic.in-action.wc">
       <title>Working Copies</title>
       
       <para>You've already read about working copies; now we'll
@@ -299,9 +299,9 @@
         two software projects, <literal>paint</literal> and
         <literal>calc</literal>.  Each project lives in its own
         top-level subdirectory, as shown in <xref
-        linkend="svn-ch-2-dia-6"/>.</para>
+        linkend="svn.basic.in-action.wc.dia-1"/>.</para>
 
-      <figure id="svn-ch-2-dia-6">
+      <figure id="svn.basic.in-action.wc.dia-1">
         <title>The repository's filesystem</title>
         <graphic fileref="images/ch02dia6.png"/>
       </figure>
@@ -333,16 +333,16 @@
         extra information needed by Subversion, as mentioned
         earlier.</para>
 
-      <sidebar id="svn-ch-2-sidebar-1">
+      <sidebar id="svn.basic.in-action.wc.sb-1">
         <title>Repository URLs</title>
 
         <para>Subversion repositories can be accessed through many
           different methods—on local disk, or through various
           network protocols.  A repository location, however, is
-          always a URL.  Table 2-1 describes how different URL
-          schemas map to the available access methods.</para>
+          always a URL.  <xref linkend="svn.basic.in-action.wc.tbl-1"/> describes how
+          different URL schemas map to the available access methods.</para>
 
-        <table id="svn-ch-2-table-1">
+        <table id="svn.basic.in-action.wc.tbl-1">
           <title>Repository Access URLs</title>
           <tgroup cols="2">
             <thead>
@@ -381,7 +381,7 @@
         </table>
 
         <para>For more information on how Subversion parses URLs, see
-        <xref linkend="svn-ch-7-sect-6"/>.</para>
+        <xref linkend="svn.advanced.reposurls"/>.</para>
 
       </sidebar>
  
@@ -445,7 +445,7 @@
     </sect2>
     
     
-    <sect2 id="svn-ch-2-sect-3.2">
+    <sect2 id="svn.basic.in-action.revs">
       <title>Revisions</title>
 
       <para>An <command>svn commit</command> operation can publish
@@ -469,14 +469,14 @@
         repository is numbered zero, and consists of nothing but an
         empty root directory.</para>
       
-      <para><xref linkend="svn-ch-2-dia-7"/> illustrates a nice way to
+      <para><xref linkend="svn.basic.in-action.revs.dia-1"/> illustrates a nice way to
         visualize the repository.  Imagine an array of revision
         numbers, starting at 0, stretching from left to right.  Each
         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>
       
-      <figure id="svn-ch-2-dia-7">
+      <figure id="svn.basic.in-action.revs.dia-1">
         <title>The repository</title>
         <graphic fileref="images/ch02dia7.png"/>
       </figure>
@@ -497,7 +497,7 @@
           Notice that in general, revisions N and M of a file do
           <emphasis>not</emphasis> necessarily differ!  Because CVS
           uses per-file revisions numbers, CVS users might want to see
-          <xref linkend="svn-ap-a"/> for more details.</para>
+          <xref linkend="svn.forcvs"/> for more details.</para>
       </sidebar>
 
       <para>It's important to note that working copies do not always
@@ -549,7 +549,7 @@
     </sect2>
     
     
-    <sect2 id="svn-ch-2-sect-3.3">
+    <sect2 id="svn.basic.in-action.track-repos">
       <title>How Working Copies Track the Repository</title>
       
       <para>For each file in a working directory, Subversion records
@@ -637,11 +637,11 @@
       <para>This may sound like a lot to keep track of, but the
         <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-ch-3-sect-5.3.1" />.</para>
+        that command, see <xref linkend="svn.tour.cycle.examine.status" />.</para>
      
     </sect2>
     
-    <sect2 id="svn-ch-2-sect-3.4">
+    <sect2 id="svn.basic.in-action.mixedrevs">
       <title>The Limitations of Mixed Revisions</title>
 
       <para>As a general principle, Subversion tries to be as flexible
@@ -690,7 +690,7 @@
 
   </sect1>
 
-  <sect1 id="svn-ch-2-sect-4">
+  <sect1 id="svn.basic.summary">
     <title>Summary</title>
     
     <para>We've covered a number of fundamental Subversion concepts in

Modified: trunk/src/ru/book/ch03.xml
==============================================================================
--- trunk/src/ru/book/ch03.xml	(original)
+++ trunk/src/ru/book/ch03.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-3">
+<chapter id="svn.tour">
   <title>Guided Tour</title>
 
   <simplesect>
@@ -16,16 +16,16 @@
       of all Subversion's commands—rather, it's a conversational
       introduction to the most common Subversion tasks you'll
       encounter.  This chapter assumes that you've read and understood
-      <xref linkend="svn-ch-2"/> and are familiar with the general
+      <xref linkend="svn.basic"/> and are familiar with the general
       model of Subversion.  For a complete reference of all commands,
-      see <xref linkend="svn-ch-9"/>.</para>
+      see <xref linkend="svn.ref"/>.</para>
 
   </simplesect>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-1">
+  <sect1 id="svn.tour.help">
     <title>Help!</title>
 
 
@@ -41,7 +41,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-2">
+  <sect1 id="svn.tour.import">
     <title>Import</title>
 
     <para>You use <command>svn import</command> to import a new
@@ -49,19 +49,19 @@
       the very first thing you will do when you set up your Subversion
       server, it's not something that happens very often.  For a
       detailed description of import, see <xref
-      linkend="svn-ch-3-sect-7.3"/> later in this chapter.</para>
+      linkend="svn.tour.other.import"/> later in this chapter.</para>
 
   </sect1>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-3">
+  <sect1 id="svn.tour.revs">
     <title>Revisions: Numbers, Keywords, and Dates, Oh My!</title>
 
     <para>Before we go on, you should know a bit about how to identify
       a particular revision in your repository.  As you learned in
-      <xref linkend="svn-ch-2-sect-3.2"/>, a revision is a
+      <xref linkend="svn.basic.in-action.revs"/>, a revision is a
       <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>
@@ -74,7 +74,7 @@
       lets you refer to these revisions by number, keyword, or
       date.</para>
     
-    <sect2 id="svn-ch-3-sect-3.1">
+    <sect2 id="svn.tour.revs.numbers">
       <title>Revision Numbers</title>
       
       <para>When you create a new Subversion repository, it begins its
@@ -97,7 +97,7 @@
 
     </sect2>
     
-    <sect2 id="svn-ch-3-sect-3.2">
+    <sect2 id="svn.tour.revs.keywords">
       <title>Revision Keywords</title>
       
       <para>The Subversion client understands a number of
@@ -197,7 +197,7 @@
       
     </sect2>
     
-    <sect2 id="svn-ch-3-sect-3.3">
+    <sect2 id="svn.tour.revs.dates">
       <title>Revision Dates</title>
       
       <para>Anywhere that you specify a revision number or revision
@@ -289,7 +289,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-4">
+  <sect1 id="svn.tour.initial">
     <title>Initial Checkout</title>
 
     <para>Most of the time, you will start using a Subversion
@@ -317,7 +317,7 @@
       <para>If you're wondering what <literal>trunk</literal> is all
         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-ch-4"/>.</para>
+        more about in <xref linkend="svn.branchmerge"/>.</para>
 
     </sidebar>
 
@@ -339,7 +339,7 @@
     
     <para>Since Subversion uses a <quote>copy-modify-merge</quote>
       model instead of <quote>lock-modify-unlock</quote> (see <xref
-      linkend="svn-ch-2"/>), you're already able to start making
+      linkend="svn.basic"/>), you're already able to start making
       changes to the files and directories in your working copy.  Your
       working copy is just like any other collection of files and
       directories on your system.  You can edit and change them, move
@@ -400,7 +400,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 5 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-5">
+  <sect1 id="svn.tour.cycle">
     <title>Basic Work Cycle</title>
 
     <para>Subversion has numerous features, options, bells and whistles, but on
@@ -476,7 +476,7 @@
       </listitem>
     </itemizedlist>
 
-    <sect2 id="svn-ch-3-sect-5.1">
+    <sect2 id="svn.tour.cycle.update">
       <title>Update Your Working Copy</title>
 
       <para>When working on a project with a team, you'll want to
@@ -573,7 +573,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-3-sect-5.2">
+    <sect2 id="svn.tour.cycle.edit">
       <title>Make Changes to Your Working Copy</title>
       
       <para>Now you can get to work and make changes in your
@@ -738,7 +738,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-3-sect-5.3">
+    <sect2 id="svn.tour.cycle.examine">
       <title>Examine Your Changes</title>
       
       <para>Once you've finished making changes, you need to commit
@@ -773,7 +773,7 @@
         working files have changed, or even allow you to undo your
         changes without contacting the repository.</para>
       
-      <sect3 id="svn-ch-3-sect-5.3.1">
+      <sect3 id="svn.tour.cycle.examine.status">
         <title><command>svn status</command></title>
         
         <para>You'll probably use the <command>svn status</command>
@@ -891,7 +891,7 @@
                 unversioned, but is related to a Subversion externals
                 definition.  To find out more about externals
                 definitions, see <xref
-                linkend="svn-ch-7-sect-3"/>.</para>
+                linkend="svn.advanced.externals"/>.</para>
             </listitem>
           </varlistentry>
 
@@ -906,7 +906,7 @@
                 status</command>, or by setting the
                 <literal>svn:ignore</literal> property on the parent
                 directory.  For more information on ignored files, see
-                <xref linkend="svn-ch-7-sect-2.3.3" />.</para>
+                <xref linkend="svn.advanced.props.special.ignore" />.</para>
 
             </listitem>
           </varlistentry>
@@ -950,7 +950,7 @@
                 <command>svn add</command>, <command>svn import</command>
                 and <command>svn status</command> operations.  For more
                 information on ignored files, see <xref
-                linkend="svn-ch-7-sect-2.3.3"/>.  Note that this
+                linkend="svn.advanced.props.special.ignore"/>.  Note that this
                 symbol only shows up if you pass the
                 <option>--no-ignore</option> option to <command>svn
                 status</command>—otherwise the file would be
@@ -962,7 +962,7 @@
 
         <para>The second column tells the status of a file or
           directory's properties (see <xref
-          linkend="svn-ch-7-sect-2"/> for more information on
+          linkend="svn.advanced.props"/> for more information on
           properties).  If an <computeroutput>M</computeroutput>
           appears in the second column, then the properties have been
           modified, otherwise a whitespace will be printed.</para>
@@ -1070,7 +1070,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-3-sect-5.3.2">
+      <sect3 id="svn.tour.cycle.examine.diff">
         <title><command>svn diff</command></title>
         
         <para>Another way to examine your changes is with the
@@ -1157,7 +1157,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-3-sect-5.3.3">
+      <sect3 id="svn.tour.cycle.examine.revert">
         <title><command>svn revert</command></title>
 
         <para>Now suppose you see the above diff output, and realize
@@ -1258,7 +1258,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-3-sect-5.4">
+    <sect2 id="svn.tour.cycle.resolve">
       <title>Resolve Conflicts (Merging Others' Changes)</title>
            
       <para>We've already seen how <command>svn status -u</command>
@@ -1310,7 +1310,7 @@
             overlapping areas.  (Subversion uses the
             <literal>svn:mime-type</literal> property to decide if a
             file is capable of contextual, line-based merging.  See
-            <xref linkend="svn-ch-7-sect-2.3.2"/> to learn more.)</para>
+            <xref linkend="svn.advanced.props.special.mime-type"/> to learn more.)</para>
         </listitem>
 
         <listitem>
@@ -1429,7 +1429,7 @@
 Resolved conflicted state of 'sandwich.txt'
 </screen>
 
-      <sect3 id="svn-ch-3-sect-5.4.1">
+      <sect3 id="svn.tour.cycle.resolve.byhand">
         <title>Merging Conflicts by Hand</title>
 
         <para>Merging conflicts by hand can be quite intimidating the
@@ -1530,7 +1530,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-3-sect-5.4.2">
+      <sect3 id="svn.tour.cycle.resolve.copyover">
         <title>Copying a File Onto Your Working File</title>
 
         <para>If you get a conflict and decide that you want to throw
@@ -1550,7 +1550,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-3-sect-5.4.3">
+      <sect3 id="svn.tour.cycle.resolve.revert">
         <title>Punting: Using <command>svn revert</command></title>
 
         <para>If you get a conflict, and upon examination decide that
@@ -1580,7 +1580,7 @@
       
     </sect2>
     
-    <sect2 id="svn-ch-3-sect-5.5">
+    <sect2 id="svn.tour.cycle.commit">
       <title>Commit Your Changes</title>
       
       <para>Finally!  Your edits are finished, you've merged all
@@ -1619,7 +1619,7 @@
         <option>--message</option> or <option>--file</option> switch,
         then Subversion will automatically launch your favorite editor
         (see the <literal>editor-cmd</literal> section in
-        <xref linkend="svn-ch-7-sect-1.3.2"/>) for composing a log
+        <xref linkend="svn.advanced.confarea.opts.config"/>) for composing a log
         message.</para>
         
         
@@ -1673,7 +1673,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 6 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-6">
+  <sect1 id="svn.tour.history">
     <title>Examining History</title>
 
     <para>As we mentioned earlier, the repository is like a time
@@ -1729,7 +1729,7 @@
       </variablelist>
 
 
-    <sect2 id="svn-ch-3-sect-6.1">
+    <sect2 id="svn.tour.history.log">
       <title><command>svn log</command></title>
 
       <para>To find information about the history of a file or
@@ -1839,8 +1839,8 @@
            
     </sect2>
 
-    <sect2 id="svn-ch-3-sect-6.2">
-      <title>svn diff</title>
+    <sect2 id="svn.tour.history.diff">
+      <title><command>svn diff</command></title>
 
       <para>We've already seen <command>svn diff</command>
         before—it displays file differences in unified diff
@@ -1867,7 +1867,7 @@
 
       </itemizedlist>
       
-      <sect3 id="svn-ch-3-sect-6.2.1">
+      <sect3 id="svn.tour.history.diff.local">
         <title>Examining Local Changes</title>
 
         <para>As we've seen, invoking <command>svn diff</command> with
@@ -1893,7 +1893,7 @@
         
       </sect3>
 
-      <sect3 id="svn-ch-3-sect-6.2.2">
+      <sect3 id="svn.tour.history.diff.wcrepos">
         <title>Comparing Working Copy to Repository</title>
 
         <para>If a single <option>--revision</option>
@@ -1919,7 +1919,7 @@
           
       </sect3>
 
-      <sect3 id="svn-ch-3-sect-6.2.3">
+      <sect3 id="svn.tour.history.diff.reposrepos">
         <title>Comparing Repository to Repository</title>
         
         <para>If two revision numbers, separated by a colon, are
@@ -1960,7 +1960,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-3-sect-6.3">
+    <sect2 id="svn.tour.history.cat">
       <title><command>svn cat</command></title>
 
       <para>If you want to examine an earlier version of a file and
@@ -2003,7 +2003,7 @@
 
       </sect2>
 
-    <sect2 id="svn-ch-3-sect-6.4">
+    <sect2 id="svn.tour.history.list">
       <title><command>svn list</command></title>
       
       <para>The <command>svn list</command> command shows you what
@@ -2039,7 +2039,7 @@
  
     </sect2>
 
-    <sect2 id="svn-ch-3-sect-6.5">
+    <sect2 id="svn.tour.history.finalword">
       <title>A Final Word on History</title>
 
       <para>In addition to all of the above commands, you can use
@@ -2064,14 +2064,14 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 7 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-7">
+  <sect1 id="svn.tour.other">
     <title>Other Useful Commands</title>
 
       <para>While not as frequently used as the commands previously
         discussed in this chapter, you will occasionally need these
         commands.</para>
 
-    <sect2 id="svn-ch-3-sect-7.1">
+    <sect2 id="svn.tour.other.cleanup">
       <title><command>svn cleanup</command></title>
 
       <para>When Subversion modifies your working copy (or any
@@ -2108,7 +2108,7 @@
     </sect2>
 
 
-    <sect2 id="svn-ch-3-sect-7.3">
+    <sect2 id="svn.tour.other.import">
       <title><command>svn import</command></title>
 
       <para>The <command>svn import</command> command is a quick way
@@ -2149,14 +2149,14 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 8 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-3-sect-8">
+  <sect1 id="svn.tour.summary">
     <title>Summary</title>
         
       <para>Now we've covered most of the Subversion client commands.
         Notable exceptions are those dealing with branching and
-        merging (see <xref linkend="svn-ch-4"/>) and properties (see
-        <xref linkend="svn-ch-7-sect-2"/>). However, you may want to
-        take a moment to skim through <xref linkend="svn-ch-9"/> to
+        merging (see <xref linkend="svn.branchmerge"/>) and properties (see
+        <xref linkend="svn.advanced.props"/>). However, you may want to
+        take a moment to skim through <xref linkend="svn.ref"/> to
         get an idea of all the many different commands that Subversion
         has—and how you can use them to make your work
         easier.</para>

Modified: trunk/src/ru/book/ch04.xml
==============================================================================
--- trunk/src/ru/book/ch04.xml	(original)
+++ trunk/src/ru/book/ch04.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-4">
+<chapter id="svn.branchmerge">
 <title>Branching and Merging</title>
 
   <simplesect>
@@ -13,14 +13,14 @@
       you're going to allow Subversion to manage your data, then this
       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-ch-2"/>).</para>
+      concepts (<xref linkend="svn.basic"/>).</para>
 
   </simplesect>
 
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-1">
+  <sect1 id="svn.branchmerge.whatis">
     <title>What's a Branch?</title> 
 
     <para>Suppose it's your job to maintain a document for a division
@@ -47,9 +47,9 @@
       shares a common history if you look far enough back in time.  A
       branch always begins life as a copy of something, and moves on
       from there, generating its own history (see <xref
-      linkend="svn-ch-4-dia-1"/>).</para>
+      linkend="svn.branchmerge.whatis.dia-1"/>).</para>
 
-      <figure id="svn-ch-4-dia-1">
+      <figure id="svn.branchmerge.whatis.dia-1">
         <title>Branches of development</title>
         <graphic fileref="images/ch04dia1.png"/>
       </figure>
@@ -68,24 +68,24 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-2">
+  <sect1 id="svn.branchmerge.using">
     <title>Using Branches</title> 
 
     <para>At this point, you should understand how each commit creates
       an entire new filesystem tree (called a <quote>revision</quote>)
       in the repository.  If not, go back and read about revisions in
-      <xref linkend="svn-ch-2-sect-3.2"/>.</para>
+      <xref linkend="svn.basic.in-action.revs"/>.</para>
 
     <para>For this chapter, we'll go back to the same example from
       Chapter 2.  Remember that you and your collaborator, Sally, are
       sharing a repository that contains two projects,
       <filename>paint</filename> and <filename>calc</filename>.
-      Notice that in <xref linkend="svn-ch-4-dia-2"/>, however, each
+      Notice that in <xref linkend="svn.branchmerge.using.dia-1"/>, however, each
       project directory now contains subdirectories named
       <filename>trunk</filename> and <filename>branches</filename>.
       The reason for this will soon become clear.</para>
     
-      <figure id="svn-ch-4-dia-2">
+      <figure id="svn.branchmerge.using.dia-1">
         <title>Starting repository layout</title>
         <graphic fileref="images/ch04dia2.png"/>
       </figure>
@@ -140,7 +140,7 @@
       collaborators.  You'll see exactly how this works later
       on.</para>
 
-    <sect2 id="svn-ch-4-sect-2.1">
+    <sect2 id="svn.branchmerge.using.create">
       <title>Creating a Branch</title> 
       
       <para>Creating a branch is very simple—you make a copy of
@@ -222,7 +222,7 @@
         Both procedures create a new directory in revision 341, and
         the new directory is a copy of
         <filename>/calc/trunk</filename>.  This is shown in <xref
-        linkend="svn-ch-4-dia-3"/>.  Notice that the second method,
+        linkend="svn.branchmerge.using.create.dia-1"/>.  Notice that the second method,
         however, performs an <emphasis>immediate</emphasis> commit.
         <footnote> 
           <para>Subversion does not support
@@ -235,7 +235,7 @@
         technique doesn't even require you to have a working copy at
         all.</para>
       
-      <figure id="svn-ch-4-dia-3">
+      <figure id="svn.branchmerge.using.create.dia-1">
         <title>Repository with new copy</title>
         <graphic fileref="images/ch04dia3.png"/>
       </figure>
@@ -276,7 +276,7 @@
 
     </sect2>
     
-    <sect2 id="svn-ch-4-sect-2.2">
+    <sect2 id="svn.branchmerge.using.work">
       <title>Working with Your Branch</title> 
 
       <para>Now that you've created a branch of the project, you can
@@ -295,7 +295,7 @@
         commit changes, however, Sally won't ever see them when she
         updates.  Her working copy is of
         <filename>/calc/trunk</filename>.  (Be sure to read <xref
-        linkend="svn-ch-4-sect-5"/> later in this chapter: the
+        linkend="svn.branchmerge.switchwc"/> later in this chapter: the
         <command>svn switch</command> command is an alternate way of
         creating a working copy of a branch.)</para>
 
@@ -323,10 +323,10 @@
       </itemizedlist>
 
       <para>There are now two independent lines of development, shown
-        in <xref linkend="svn-ch-4-dia-4"/>, happening on
+        in <xref linkend="svn.branchmerge.using.work.dia-1"/>, happening on
         <filename>integer.c</filename>.</para>
 
-      <figure id="svn-ch-4-dia-4">
+      <figure id="svn.branchmerge.using.work.dia-1">
         <title>The branching of one file's history</title>
         <graphic fileref="images/ch04dia4.png"/>
       </figure>
@@ -420,7 +420,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-4-sect-2.3">
+    <sect2 id="svn.branchmerge.using.concepts">
       <title>The Key Concepts Behind Branches</title> 
 
       <para>There are two important lessons that you should remember
@@ -453,7 +453,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-3">
+  <sect1 id="svn.branchmerge.copychanges">
     <title>Copying Changes Between Branches</title>
 
     <para>Now you and Sally are working on parallel branches of the
@@ -484,7 +484,7 @@
       changes can be copied back into the trunk.</para>
     
 
-    <sect2 id="svn-ch-4-sect-3.1">
+    <sect2 id="svn.branchmerge.copychanges.specific">
       <title>Copying Specific Changes</title>
       
 
@@ -687,7 +687,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-4-sect-3.2">
+    <sect2 id="svn.branchmerge.copychanges.keyconcept">
       <title>The Key Concept Behind Merging</title>
 
       <para>You've now seen an example of the <command>svn
@@ -764,10 +764,10 @@
 
     </sect2>
     
-    <sect2 id="svn-ch-4-sect-3.3">
+    <sect2 id="svn.branchmerge.copychanges.bestprac">
       <title>Best Practices for Merging</title>
 
-      <sect3 id="svn-ch-4-sect-3.3.1">
+      <sect3 id="svn.branchmerge.copychanges.bestprac.track">
         <title>Tracking Merges Manually</title>
 
         <para>Merging changes sounds simple enough, but in practice it
@@ -812,7 +812,7 @@
 
       </sect3>
       
-      <sect3 id="svn-ch-4-sect-3.3.2">
+      <sect3 id="svn.branchmerge.copychanges.bestprac.preview">
         <title>Previewing Merges</title>
         
         <para>Because merging only results in local modifications,
@@ -886,7 +886,7 @@
           changeset #9238 into your working copy.</para>
       </sidebar>
 
-      <sect3 id="svn-ch-4-sect-3.3.3">
+      <sect3 id="svn.branchmerge.copychanges.bestprac.merge">
         <title>Merge Conflicts</title>
 
         <para>Just like the <command>svn update</command> command,
@@ -957,7 +957,7 @@
         <para>Another small difference between <command>svn
           update</command> and <command>svn merge</command> are the
           names of the full-text files created when a conflict
-          happens.  In <xref linkend="svn-ch-3-sect-5.4"/>, we saw
+          happens.  In <xref linkend="svn.tour.cycle.resolve"/>, we saw
           that an update produces files named
           <filename>filename.mine</filename>,
           <filename>filename.rOLDREV</filename>, and
@@ -975,7 +975,7 @@
 
       </sect3>
       
-      <sect3 id="svn-ch-4-sect-3.3.4">
+      <sect3 id="svn.branchmerge.copychanges.bestprac.ancestry">
         <title>Noticing or Ignoring Ancestry</title>
 
         <para>When conversing with a Subversion developer, you might
@@ -1018,7 +1018,7 @@
           however, you may want the merge command to compare two
           unrelated trees.  For example, you may have imported two
           source-code trees representing different vendor releases of
-          a software project (see <xref linkend="svn-ch-7-sect-4"/>).
+          a software project (see <xref linkend="svn.advanced.vendorbr"/>).
           If you asked <command>svn merge</command> to compare the two
           trees, you'd see the entire first tree being deleted,
           followed by an add of the entire second tree!</para>
@@ -1043,14 +1043,14 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-4">
+  <sect1 id="svn.branchmerge.commonuses">
     <title>Common Use-Cases</title>
 
     <para>There are many different uses for branching and <command>svn
       merge</command>, and this section describes the most common ones
       you're likely to run into.</para>
 
-    <sect2 id="svn-ch-4-sect-4.1">
+    <sect2 id="svn.branchmerge.commonuses.wholebr">
       <title>Merging a Whole Branch to Another</title>
 
       <para>To complete our running example, we'll move forward in
@@ -1160,7 +1160,7 @@
         to your original feature or bug fix.  The repository's
         <literal>HEAD</literal> revision is now 480, and you're ready
         to do another merge from your private branch to the trunk.
-        But as discussed in <xref linkend="svn-ch-4-sect-3.3"/>, you
+        But as discussed in <xref linkend="svn.branchmerge.copychanges.bestprac"/>, you
         don't want to merge the changes you've already merged before;
         you only want to merge everything <quote>new</quote> on your
         branch since the last time you merged.  The trick is to figure
@@ -1216,7 +1216,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-4-sect-4.2">
+    <sect2 id="svn.branchmerge.commonuses.undo">
       <title>Undoing Changes</title>
 
       <para>Another common use for <command>svn merge</command> is to
@@ -1295,14 +1295,14 @@
             implement an <command>svnadmin obliterate</command>
             command that would accomplish the task of permanently
             deleting information.  In the meantime, see <xref
-            linkend="svn-ch-5-sect-3.1.3"/> for a possible
+            linkend="svn.reposadmin.maint.tk.svndumpfilter"/> for a possible
             workaround.</para>
         </footnote>
       </para>
 
     </sect2>
 
-    <sect2 id="svn-ch-4-sect-4.3">
+    <sect2 id="svn.branchmerge.commonuses.resurrect">
       <title>Resurrecting Deleted Items</title>
 
       <para>The great thing about version control systems is that
@@ -1370,7 +1370,7 @@
       <para>One option is to use <command>svn merge</command> to apply
         revision 808 <quote>in reverse</quote>.  (We've already
         discussed how to undo changes, see <xref
-        linkend="svn-ch-4-sect-4.2"/>.)  This would have the effect of
+        linkend="svn.branchmerge.commonuses.undo"/>.)  This would have the effect of
         re-adding <filename>real.c</filename> as a local modification.
         The file would be scheduled for addition, and after a commit,
         the file would again exist in <literal>HEAD</literal>.</para>
@@ -1421,7 +1421,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-4-sect-4.4">
+    <sect2 id="svn.branchmerge.commonuses.patterns">
       <title>Common Branching Patterns</title>
 
       <para>Version control is most often used for software
@@ -1436,7 +1436,7 @@
         Still, it may help to see them described in Subversion
         terms.</para>
       
-      <sect3 id="svn-ch-4-sect-4.4.1">
+      <sect3 id="svn.branchmerge.commonuses.patterns.release">
         <title>Release Branches</title>
       
         <para>Most software has a typical lifecycle: code, test,
@@ -1521,7 +1521,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-4-sect-4.4.2">
+      <sect3 id="svn.branchmerge.commonuses.patterns.feature">
         <title>Feature Branches</title>
       
         <para>A <firstterm>feature branch</firstterm> is the sort of
@@ -1577,10 +1577,10 @@
           merge the last week's worth of trunk changes to the branch.
           Take care when doing this; the merging needs to be
           hand-tracked to avoid the problem of repeated merges (as
-          described in <xref linkend="svn-ch-4-sect-3.3.1"/>).  You'll
+          described in <xref linkend="svn.branchmerge.copychanges.bestprac.track"/>).  You'll
           need to write careful log messages detailing exactly which
           revision ranges have been been merged already (as
-          demonstrated in <xref linkend="svn-ch-4-sect-4.1"/>).  It
+          demonstrated in <xref linkend="svn.branchmerge.commonuses.wholebr"/>).  It
           may sound intimidating, but it's actually pretty easy to
           do.</para>
 
@@ -1632,7 +1632,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 5 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-5">
+  <sect1 id="svn.branchmerge.switchwc">
     <title>Switching a Working Copy</title>
 
     <para>The <command>svn switch</command> command transforms an
@@ -1719,7 +1719,7 @@
       <option>--relocate</option> switch if the URL of your server
       changes and you don't want to abandon an existing working copy.
       See the <command>svn switch</command> section in <xref
-      linkend="svn-ch-9"/> for more information and an example.</para>
+      linkend="svn.ref"/> for more information and an example.</para>
       </footnote></para>
     
     <sidebar>
@@ -1774,7 +1774,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 6 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-6">
+  <sect1 id="svn.branchmerge.tags">
     <title>Tags</title>
 
     <para>Another common version control concept is a
@@ -1791,7 +1791,7 @@
       piece of software is a particular subdirectory of revision
       4822.</para>
 
-    <sect2 id="svn-ch-4-sect-6.1">
+    <sect2 id="svn.branchmerge.tags.mksimple">
       <title>Creating a Simple Tag</title>
 
       <para>Once again, <command>svn copy</command> comes to the
@@ -1809,7 +1809,7 @@
 
       <para>This example assumes that a
         <filename>/calc/tags</filename> directory already exists.  (If it
-        doesn't, see <xref linkend="svn-ch-9-sect-1.2-re-mkdir"/>).
+        doesn't, see <xref linkend="svn.ref.svn.c.mkdir"/>).
         After the copy completes, the new
         <filename>release-1.0</filename> directory is forever a
         snapshot of how the project looked in the
@@ -1842,7 +1842,7 @@
         approach is more paranoid: you can use one of the
         access-control scripts provided with Subversion to prevent
         anyone from doing anything but creating new copies in the
-        tags-area (See <xref linkend="svn-ch-6"/>.)  The paranoid
+        tags-area (See <xref linkend="svn.serverconfig"/>.)  The paranoid
         approach, however, isn't usually necessary.  If a user
         accidentally commits a change to a tag-directory, you can
         simply undo the change as discussed in the previous section.
@@ -1850,7 +1850,7 @@
 
     </sect2>
     
-    <sect2 id="svn-ch-4-sect-6.2">
+    <sect2 id="svn.branchmerge.tags.mkcomplex">
       <title>Creating a Complex Tag</title>
       
       <para>Sometimes you may want your <quote>snapshot</quote> to be
@@ -1911,7 +1911,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 7 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-7">
+  <sect1 id="svn.branchmerge.maint">
     <title>Branch Maintenance</title>
 
     <para>You may have noticed by now that Subversion is extremely
@@ -1922,7 +1922,7 @@
       flexible.  In this section, we'll offer some suggestions for
       arranging and managing your data over time.</para>
 
-    <sect2 id="svn-ch-4-sect-7.1">
+    <sect2 id="svn.branchmerge.maint.layout">
       <title>Repository Layout</title>
       
       <para>There are some standard, recommended ways to organize a
@@ -1941,7 +1941,7 @@
 
       <para>If a repository contains multiple projects, admins
         typically index their layout by project (see <xref
-        linkend="svn-ch-5-sect-6.1"/> to read more about
+        linkend="svn.reposadmin.projects.chooselayout"/> to read more about
         <quote>project roots</quote>):</para>
 
 <screen>
@@ -1978,7 +1978,7 @@
       
     </sect2>
     
-    <sect2 id="svn-ch-4-sect-7.2">
+    <sect2 id="svn.branchmerge.maint.lifetime">
       <title>Data Lifetimes</title>
 
       <para>Another nice feature of Subversion's model is that
@@ -2060,7 +2060,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 8 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-4-sect-8">
+  <sect1 id="svn.branchmerge.summary">
     <title>Summary</title>
 
     <para>We've covered a lot of ground in this chapter.  We've

Modified: trunk/src/ru/book/ch05.xml
==============================================================================
--- trunk/src/ru/book/ch05.xml	(original)
+++ trunk/src/ru/book/ch05.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-5">
+<chapter id="svn.reposadmin">
 <title>Repository Administration</title>
 
   <simplesect>
@@ -37,7 +37,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 1:  REPOSITORY BASICS                               *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-5-sect-1">
+  <sect1 id="svn.reposadmin.basics">
     <title>Repository Basics</title>
 
     <para>Before jumping into the broader topic of repository
@@ -52,7 +52,7 @@
       these basic concepts at a very high level.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-1.1">
+    <sect2 id="svn.reposadmin.basics.txnsrevs">
       <title>Understanding Transactions and Revisions</title>
         
       <para>Conceptually speaking, a Subversion repository is a
@@ -108,7 +108,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-1.2">
+    <sect2 id="svn.reposadmin.basics.revprops">
       <title>Unversioned Properties</title>
 
       <para>Transactions and revisions in the Subversion repository
@@ -149,7 +149,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-1.3">
+    <sect2 id="svn.reposadmin.basics.backends">
       <title>Repository Data-Stores</title>
 
       <para>As of Subversion 1.1, there are two options for storing
@@ -176,7 +176,7 @@
         Berkeley DB and FSFS repositories.  The next sections go into
         detail.</para>
 
-      <table id="svn-ch-5-table-1">
+      <table id="svn.reposadmin.basics.backends.tbl-1">
         <title>Repository Data-Store Comparison</title>
         <tgroup cols="3">
           <thead>
@@ -285,7 +285,7 @@
       </table>
       
     <!-- ***************************************************************** -->
-      <sect3 id="svn-ch-5-sect-1.3.1">
+      <sect3 id="svn.reposadmin.basics.backends.bdb">
         <title>Berkeley DB</title>
         
         <para>When the initial design phase of Subversion was in
@@ -314,7 +314,7 @@
           backups</firstterm>—the ability to backup the database
           environment without taking it <quote>offline</quote>.  We'll
           discuss how to backup your repository in <xref
-          linkend="svn-ch-5-sect-3.6"/>, but the benefits of being
+          linkend="svn.reposadmin.maint.backup"/>, but the benefits of being
           able to make fully functional copies of your repositories
           without any downtime should be obvious.</para>
 
@@ -327,7 +327,7 @@
           a previous <firstterm>checkpoint</firstterm>—a
           location in the log files known not to be corrupt—and
           replay transactions until the data is restored to a usable
-          state.  See <xref linkend="svn-ch-5-sect-3.3"/> for more
+          state.  See <xref linkend="svn.reposadmin.maint.diskspace"/> for more
           about Berkeley DB log files.</para>
 
         <para>But every rose has its thorn, and so we must note some
@@ -369,16 +369,16 @@
           used by a single server process running as one
           user—such as Apache's <command>httpd</command> or
           <command>svnserve</command> (see <xref
-          linkend="svn-ch-6"/>)—rather than accessing it as
+          linkend="svn.serverconfig"/>)—rather than accessing it as
           many different users via <literal>file:///</literal> or
           <literal>svn+ssh://</literal> URLs.  If using a Berkeley DB
           repository directly as multiple users, be sure to read <xref
-          linkend="svn-ch-6-sect-5"/>.</para>
+          linkend="svn.serverconfig.multimethod"/>.</para>
 
       </sect3>
       
     <!-- ***************************************************************** -->
-      <sect3 id="svn-ch-5-sect-1.3.2">
+      <sect3 id="svn.reposadmin.basics.backends.fsfs">
         <title>FSFS</title>
 
         <para>In mid-2004, a second type of repository storage system
@@ -441,7 +441,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 2:  REPOSITORY CREATION AND CONFIGURATION           *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-5-sect-2">
+  <sect1 id="svn.reposadmin.create">
     <title>Repository Creation and Configuration</title>
 
     <para>Creating a Subversion repository is an incredibly simple
@@ -491,7 +491,7 @@
         process (such as Apache or <command>svnserve</command>), store
         the repository on a local filesystem which the server can
         access, and make the repository available over a network.
-        <xref linkend="svn-ch-6"/> covers this process in
+        <xref linkend="svn.serverconfig"/> covers this process in
         detail.</para>
     </warning>
           
@@ -587,7 +587,7 @@
       those here.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-2.1">
+    <sect2 id="svn.reposadmin.create.hooks">
       <title>Hook Scripts</title>
 
       <para>A <firstterm>hook</firstterm> is a program triggered by
@@ -698,7 +698,7 @@
               <command>mod_authz_svn</command> Apache httpd module,
               which provides both read and write access control on
               individual directories (see <xref
-              linkend="svn-ch-6-sect-4.4.2"/>).  In a future version
+              linkend="svn.serverconfig.httpd.authz.perdir"/>).  In a future version
               of Subversion, we plan to implement access control lists
               (ACLs) directly in the filesystem.</para>
           </listitem>
@@ -828,7 +828,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-2.2">
+    <sect2 id="svn.reposadmin.create.bdb">
       <title>Berkeley DB Configuration</title>
 
       <para>A Berkeley DB environment is an encapsulation of one or
@@ -876,7 +876,7 @@
   <!-- *** SECTION 3:  REPOSITORY MAINTENANCE                          *** -->
   <!-- ******************************************************************* -->
 
-  <sect1 id="svn-ch-5-sect-3">
+  <sect1 id="svn.reposadmin.maint">
     <title>Repository Maintenance</title>
 
     <para>Maintaining a Subversion repository can be a daunting task,
@@ -889,7 +889,7 @@
       upgrades, backups and cleanups.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-3.1">
+    <sect2 id="svn.reposadmin.maint.tk">
       <title>An Administrator's Toolkit</title>
 
       <para>Subversion provides a handful of utilities useful for
@@ -900,7 +900,7 @@
         to your repository's database backend not otherwise provided
         by Subversion's own tools.</para>
 
-      <sect3 id="svn-ch-5-sect-3.1.1">
+      <sect3 id="svn.reposadmin.maint.tk.svnlook">
         <title>svnlook</title>
             
         <para><command>svnlook</command> is a tool provided by
@@ -1176,7 +1176,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-5-sect-3.1.2">
+      <sect3 id="svn.reposadmin.maint.tk.svnadmin">
         <title>svnadmin</title>
 
         <para>The <command>svnadmin</command> program is the
@@ -1202,7 +1202,7 @@
 
         <para>We've already mentioned <command>svnadmin</command>'s
           <literal>create</literal> subcommand (see <xref
-          linkend="svn-ch-5-sect-2"/>).  Most of the others we will
+          linkend="svn.reposadmin.create"/>).  Most of the others we will
           cover in more detail later in this chapter.  For now, let's
           just take a quick glance at what each of the available
           subcommands offers.</para>
@@ -1326,7 +1326,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-5-sect-3.1.3">
+      <sect3 id="svn.reposadmin.maint.tk.svndumpfilter">
         <title>svndumpfilter</title>
 
         <para>Since Subversion stores everything in an opaque database
@@ -1355,7 +1355,7 @@
           <command>svnadmin dump</command> command to generate the
           dump data, and <command>svnadmin load</command> to populate
           a new repository with it (see <xref
-          linkend="svn-ch-5-sect-3.5"/>).  The great thing about the
+          linkend="svn.reposadmin.maint.migrate"/>).  The great thing about the
           human-readability aspect of the dump format is that, if you
           aren't careless about it, you can manually inspect and
           modify it.  Of course, the downside is that if you have two
@@ -1412,7 +1412,7 @@
 
         <para>Let's look a realistic example of how you might use this
           program.  We discuss elsewhere (see <xref
-          linkend="svn-ch-5-sect-6.1"/>) the process of deciding how to
+          linkend="svn.reposadmin.projects.chooselayout"/>) the process of deciding how to
           choose a layout for the data in your
           repositories—using one repository per project or
           combining them, arranging stuff within your repository, and
@@ -1617,125 +1617,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-5-sect-3.1.4">
-        <title>svnshell.py</title>
-
-        <para>The Subversion source tree also comes with a shell-like
-          interface to the repository.  The
-          <command>svnshell.py</command> Python script (located in
-          <filename>tools/examples/</filename> in the source tree)
-          uses Subversion's language bindings (so you must have
-          those properly compiled and installed in order for this
-          script to work) to connect to the repository and filesystem
-          libraries.</para>
-
-        <para>Once started, the program behaves similarly to a shell
-          program, allowing you to browse the various directories in
-          your repository.  Initially, you are
-          <quote>positioned</quote> in the root directory of the
-          <literal>HEAD</literal> revision of the repository, and
-          presented with a command prompt.  You can use the
-          <literal>help</literal> command at any time to display a
-          list of available commands and what they do.</para>
-
-        <screen>
-$ svnshell.py /path/to/repos
-<rev: 2 />$  help
-Available commands:
-  cat FILE     : dump the contents of FILE
-  cd DIR       : change the current working directory to DIR
-  exit         : exit the shell
-  ls [PATH]    : list the contents of the current directory
-  lstxns       : list the transactions available for browsing
-  setrev REV   : set the current revision to browse
-  settxn TXN   : set the current transaction to browse
-  youngest     : list the youngest browsable revision number
-<rev: 2 />$
-</screen>
-
-        <para>Navigating the directory structure of your repository is
-          done in the same way you would navigate a regular Unix or
-          Windows shell—using the <literal>cd</literal> command.
-          At all times, the command prompt will show you what revision
-          (prefixed by <literal>rev:</literal>) or transaction
-          (prefixed by <literal>txn:</literal>) you are currently
-          examining, and at what path location in that revision or
-          transaction.  You can change your current revision or
-          transaction with the <literal>setrev</literal> and
-          <literal>settxn</literal> commands, respectively.  As in a
-          Unix shell, you can use the <literal>ls</literal> command to
-          display the contents of the current directory, and you can
-          use the <literal>cat</literal> command to display the
-          contents of a file.</para>
-
-        <example id="svn-ch-8-sect-3.1.3-ex-1">
-          <title>Using svnshell to Navigate the Repository</title>
-
-          <screen>
-<rev: 2 />$ ls
-   REV   AUTHOR  NODE-REV-ID     SIZE         DATE NAME
-----------------------------------------------------------------------------
-     1    sally <     2.0.1>          Nov 15 11:50 A/
-     2    harry <     1.0.2>       56 Nov 19 08:19 iota
-<rev: 2 />$ cd A
-<rev: 2 /A>$ ls
-   REV   AUTHOR  NODE-REV-ID     SIZE         DATE NAME
-----------------------------------------------------------------------------
-     1    sally <     4.0.1>          Nov 15 11:50 B/
-     1    sally <     a.0.1>          Nov 15 11:50 C/
-     1    sally <     b.0.1>          Nov 15 11:50 D/
-     1    sally <     3.0.1>       23 Nov 15 11:50 mu
-<rev: 2 /A>$ cd D/G 
-<rev: 2 /A/D/G>$ ls
-   REV   AUTHOR  NODE-REV-ID     SIZE         DATE NAME
-----------------------------------------------------------------------------
-     1    sally <     e.0.1>       23 Nov 15 11:50 pi
-     1    sally <     f.0.1>       24 Nov 15 11:50 rho
-     1    sally <     g.0.1>       24 Nov 15 11:50 tau
-<rev: 2 /A>$ cd ../..
-<rev: 2 />$ cat iota
-This is the file 'iota'.
-Added this text in revision 2.
-
-<rev: 2 />$ setrev 1; cat iota
-This is the file 'iota'.
-
-<rev: 1 />$ exit
-$
-</screen>
-        </example>
-
-        <para>As you can see in the previous example, multiple
-          commands may be specified at a single command prompt,
-          separated by a semicolon.  Also, the shell understands the
-          notions of relative and absolute paths, and will properly
-          handle the <literal>.</literal> and
-          <literal>..</literal> special path components.</para>
-
-        <para>The <literal>youngest</literal> command displays the
-          youngest revision.  This is useful for determining the range
-          of valid revisions you can use as arguments to the
-          <literal>setrev</literal> command—you are allowed to
-          browse all the revisions (recalling that they are named with
-          integers) between 0 and the youngest, inclusively.
-          Determining the valid browsable transactions isn't quite as
-          pretty.  Use the <command>lstxns</command> command to list
-          the transactions that you are able to browse.  The list of
-          browsable transactions is the same list that
-          <command>svnadmin lstxns</command> returns, and the same
-          list that is valid for use with <command>svnlook</command>'s
-          <option>--transaction</option> option.</para>
-
-        <para>Once you've finished using the shell, you can exit
-          cleanly by using the <command>exit</command> command.
-          Alternatively, you can supply an end-of-file
-          character—Control-D (though some Win32 Python
-          distributions use the Windows Control-Z convention
-          instead).</para>
-
-      </sect3>
-
-      <sect3 id="svn-ch-5-sect-3.1.5">
+      <sect3 id="svn.reposadmin.maint.tk.bdbutil">
         <title>Berkeley DB Utilities</title>
 
         <para>If you're using a Berkeley DB repository, then all of
@@ -1776,7 +1658,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-3.2">
+    <sect2 id="svn.reposadmin.maint.cleanup">
       <title>Repository Cleanup</title>
             
       <para>Your Subversion repository will generally require very
@@ -1817,11 +1699,11 @@
         repository is configured (using the
         <literal>pre-revprop-change</literal> and
         <literal>post-revprop-change</literal> hooks; see <xref
-        linkend="svn-ch-5-sect-2.1"/>) to accept changes to this log
+        linkend="svn.reposadmin.create.hooks"/>) to accept changes to this log
         message after the commit is finished, then the user can
         <quote>fix</quote> her log message remotely using the
         <command>svn</command> program's <literal>propset</literal>
-        command (see <xref linkend="svn-ch-9"/>).  However, because of
+        command (see <xref linkend="svn.ref"/>).  However, because of
         the potential to lose information forever, Subversion
         repositories are not, by default, configured to allow changes
         to unversioned properties—except by an administrator.</para>
@@ -1909,7 +1791,7 @@
         of shell-scripting that can quickly generate information about
         each outstanding transaction in your repository:</para>
 
-      <example id="svn-ch-5-sect-3.2-ex-1">
+      <example id="svn.reposadmin.maint.cleanup.ex-1">
         <title>txn-info.sh (Reporting Outstanding Transactions)</title>
 
         <programlisting>
@@ -1935,7 +1817,7 @@
         <command>/path/to/txn-info.sh /path/to/repos</command>.  The
         output is basically a concatenation of several chunks of
         <command>svnlook info</command> output (see <xref
-        linkend="svn-ch-5-sect-3.1.1"/>), and will look something
+        linkend="svn.reposadmin.maint.tk.svnlook"/>), and will look something
         like:</para>
 
       <screen>
@@ -1974,7 +1856,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-3.3">
+    <sect2 id="svn.reposadmin.maint.diskspace">
       <title>Managing Disk Space</title>
 
         <para>While the cost of storage has dropped incredibly in the
@@ -2016,7 +1898,7 @@
           DB_LOG_AUTOREMOVE</literal> directive, and then run
           <command>svnadmin recover</command> on your repository to
           force the configuration changes to take effect.  See <xref
-          linkend="svn-ch-5-sect-2.2"/> for more information about
+          linkend="svn.reposadmin.create.bdb"/> for more information about
           database configuration.</para>
 
         <para>Without some sort of automatic log file removal in
@@ -2077,10 +1959,10 @@
     </sect2>
         
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-3.4">
+    <sect2 id="svn.reposadmin.maint.recovery">
       <title>Repository Recovery</title>
 
-      <para>As mentioned in <xref linkend="svn-ch-5-sect-1.3.1"/>, a
+      <para>As mentioned in <xref linkend="svn.reposadmin.basics.backends.bdb"/>, a
         Berkeley DB repository can sometimes be left in frozen state
         if not closed properly.  When this happens, an administrator
         needs to rewind the database back into a consistent
@@ -2181,7 +2063,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-3.5">
+    <sect2 id="svn.reposadmin.maint.migrate">
       <title>Migrating a Repository</title>
     
       <para>A Subversion filesystem has its data spread throughout
@@ -2239,7 +2121,7 @@
             then you'll probably want to tell your users to run
             <command>svn switch --relocate</command> on their existing
             working copies.  See <xref
-            linkend="svn-ch-9-sect-1.2-re-switch"/>.</para>
+            linkend="svn.ref.svn.c.switch"/>.</para>
         </listitem>
       </orderedlist>
 
@@ -2462,14 +2344,14 @@
         changes—each of which should be treated as a new
         revision—using this file format.  In fact, the
         <command>cvs2svn.py</command> utility (see <xref
-        linkend="svn-ap-a-sect-11"/>) uses the dump format to represent the
+        linkend="svn.forcvs.convert"/>) uses the dump format to represent the
         contents of a CVS repository so that those contents can be
         moved in a Subversion repository.</para>
 
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-3.6">
+    <sect2 id="svn.reposadmin.maint.backup">
       <title>Repository Backup</title>
 
       <para>Despite numerous advances in technology since the birth of
@@ -2487,7 +2369,7 @@
         full.  We discussed in an earlier section of this chapter how
         to use <command>svnadmin dump --incremental</command> to
         perform an incremental backup (see <xref
-        linkend="svn-ch-5-sect-3.5"/>).  Essentially, the idea is to
+        linkend="svn.reposadmin.maint.migrate"/>).  Essentially, the idea is to
         only backup at a given time the changes to the repository
         since the last time you made a backup.</para>
 
@@ -2523,7 +2405,7 @@
         systems).  Or, if you prefer fine-grained backup solutions,
         you could have your post-commit hook script call
         <command>hot-backup.py</command> (see <xref
-        linkend="svn-ch-5-sect-2.1" />), which will then cause a new
+        linkend="svn.reposadmin.create.hooks" />), which will then cause a new
         backup of your repository to occur with every new revision
         created.  Simply add the following to the
         <filename>hooks/post-commit</filename> script in your live
@@ -2611,7 +2493,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 6:  ADDING PROJECTS                                 *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-5-sect-6">
+  <sect1 id="svn.reposadmin.projects">
     <title>Adding Projects</title>
 
     <para>Once your repository is created and configured, all that
@@ -2626,7 +2508,7 @@
       that layout.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-6.1">
+    <sect2 id="svn.reposadmin.projects.chooselayout">
       <title>Choosing a Repository Layout</title>
 
       <para>While Subversion allows you to move around versioned files
@@ -2677,7 +2559,7 @@
         to repositories, you'll probably want to think about directory
         hierarchies in the repositories themselves.  Because
         Subversion uses regular directory copies for branching and
-        tagging (see <xref linkend="svn-ch-4"/>), the Subversion
+        tagging (see <xref linkend="svn.branchmerge"/>), the Subversion
         community recommends that you choose a repository location for
         each <firstterm>project root</firstterm>—the
         <quote>top-most</quote> directory which contains data related
@@ -2749,7 +2631,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-5-sect-6.2">
+    <sect2 id="svn.reposadmin.projects.import">
       <title>Creating the Layout, and Importing Initial Data</title>
           
       <para>After deciding how to arrange the projects in your
@@ -2757,11 +2639,11 @@
         repository with that layout and with initial project data.
         There are a couple of ways to do this in Subversion.  You
         could use the <command>svn mkdir</command> command (see <xref
-        linkend="svn-ch-9"/>) to create each directory in your
+        linkend="svn.ref"/>) to create each directory in your
         skeletal repository layout, one-by-one.  A quicker way to
         accomplish the same task is to use the <command>svn
         import</command> command (see <xref
-        linkend="svn-ch-3-sect-7.3"/>).  By first creating the layout
+        linkend="svn.tour.other.import"/>).  By first creating the layout
         in a temporary location on your drive, you can import the
         whole layout tree into the repository in a single
         commit:</para>
@@ -2816,7 +2698,7 @@
         such things, we're no longer discussing repository
         administration.  If you aren't already familiar with the
         <command>svn</command> client program, see <xref
-        linkend="svn-ch-3"/>.</para>
+        linkend="svn.tour"/>.</para>
 
     </sect2>
   </sect1>
@@ -2824,7 +2706,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 7:  SUMMARY                                         *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-5-sect-7">
+  <sect1 id="svn.reposadmin.summary">
     <title>Summary</title>
 
     <para>By now you should have a basic understanding of how to

Modified: trunk/src/ru/book/ch06.xml
==============================================================================
--- trunk/src/ru/book/ch06.xml	(original)
+++ trunk/src/ru/book/ch06.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-6">
+<chapter id="svn.serverconfig">
   <title>Server Configuration</title>
   
   <simplesect>
@@ -24,7 +24,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-6-sect-1">
+  <sect1 id="svn.serverconfig.overview">
     
     <title>Overview</title>
     
@@ -51,13 +51,13 @@
       and disadvantages.  In fact, it's possible for different servers
       to run in parallel, each accessing your repositories in its own
       way, and each without hindering the other (see <xref
-      linkend="svn-ch-6-sect-5"/>).  Here's a brief overview and
+      linkend="svn.serverconfig.multimethod"/>).  Here's a brief overview and
       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-ch-6-table-1">
+    <table id="svn.serverconfig.overview.tbl-1">
       <title>Network Server Comparison</title>
       <tgroup cols="3">
         <thead>
@@ -146,7 +146,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-6-sect-2">
+  <sect1 id="svn.serverconfig.netmodel">
 
     <title>Network Model</title>
 
@@ -157,7 +157,7 @@
       different ways in which a client can be configured to
       respond.</para>
 
-    <sect2 id="svn-ch-6-sect-2.1">
+    <sect2 id="svn.serverconfig.netmodel.reqresp">
       <title>Requests and Responses</title>
 
       <para>The Subversion client spends most of its time managing
@@ -167,7 +167,7 @@
         protocol are hidden from the user; the client attempts to
         access a URL, and depending on the URL schema, a particular
         protocol is used to contact the server (see <xref
-        linkend="svn-ch-2-sidebar-1"/>).  Users can run <command>svn
+        linkend="svn.basic.in-action.wc.sb-1"/>).  Users can run <command>svn
         --version</command> to see which URL schemas and protocols the
         client knows how to use.</para>
 
@@ -194,7 +194,7 @@
         revision tree is created.  If the client's request was
         authenticated, then the authenticated user's name is stored as
         the value of the <literal>svn:author</literal> property on the
-        new revision (see <xref linkend="svn-ch-5-sect-1.2"/>).  If
+        new revision (see <xref linkend="svn.reposadmin.basics.revprops"/>).  If
         the client was not authenticated (in other words, the server
         never issued an authentication challenge), then the revision's
         <literal>svn:author</literal> property is empty.
@@ -203,7 +203,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-6-sect-2.2">
+    <sect2 id="svn.serverconfig.netmodel.credcache">
       <title>Client Credentials Caching</title>
 
       <para>Many servers are configured to require authentication on
@@ -219,7 +219,7 @@
         Unix-like systems or
         <filename>%APPDATA%/Subversion/auth/</filename> on Windows.
         (The runtime area is covered in more detail in <xref
-        linkend="svn-ch-7-sect-1"/>.)  Successful credentials are
+        linkend="svn.advanced.confarea"/>.)  Successful credentials are
         cached on disk, keyed on a combination of hostname, port, and
         authentication realm.</para>  
 
@@ -377,7 +377,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-6-sect-3">
+  <sect1 id="svn.serverconfig.svnserve">
     
     <title>svnserve, a custom server</title>
 
@@ -391,7 +391,7 @@
       to the server, and how to configure appropriate access control
       to your repositories.</para>
 
-    <sect2 id="svn-ch-6-sect-3.1">
+    <sect2 id="svn.serverconfig.svnserve.invoking">
       <title>Invoking the Server</title>
 
       <para>There are a few different ways to invoke the
@@ -468,11 +468,11 @@
         invoked by a tunnel agent like this, be sure that the
         authenticated user has full read and write access to the
         repository database files. (See <xref
-        linkend="svn-ch-6-sidebar-1"/>.)  It's essentially the same as
+        linkend="svn.serverconfig.svnserve.invoking.sb-1"/>.)  It's essentially the same as
         a local user accessing the repository via
         <literal>file:///</literal> URLs.</para>
 
-      <sidebar id="svn-ch-6-sidebar-1">
+      <sidebar id="svn.serverconfig.svnserve.invoking.sb-1">
         <title>Servers and Permissions:  A Word of Warning</title>        
 
         <para>First, remember that a Subversion repository is a
@@ -481,7 +481,7 @@
           permissions on the entire repository.  If you're not
           careful, this can lead to a number of headaches, especially
           if you're using a BerkeleyDB database rather than FSFS.  Be
-          sure to read <xref linkend="svn-ch-6-sect-5"/>.</para>
+          sure to read <xref linkend="svn.serverconfig.multimethod"/>.</para>
 
         <para>Secondly, when configuring <command>svnserve</command>,
           Apache <command>httpd</command>, or any other server
@@ -529,7 +529,7 @@
  
     </sect2>
 
-    <sect2 id="svn-ch-6-sect-3.2">
+    <sect2 id="svn.serverconfig.svnserve.auth">
       <title>Built-in authentication and authorization</title>
 
       <para>When a client connects to an <command>svnserve</command>
@@ -578,13 +578,13 @@
         <command>SSH</command>.  In that case, the server simply
         examines the user it's running as, and uses it as the
         authenticated username.  For more on this, see <xref
-        linkend="svn-ch-6-sect-3.4"/>.</para>
+        linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
 
       <para>As you've already guessed, a repository's
         <filename>svnserve.conf</filename> file is the central
         mechanism for controlling authentication and authorization
         policies.  The file has the same format as other configuration
-        files (see <xref linkend="svn-ch-7-sect-1"/>): section names
+        files (see <xref linkend="svn.advanced.confarea"/>): section names
         are marked by square brackets (<literal>[</literal> and
         <literal>]</literal>), comments begin with hashes
         (<literal>#</literal>), and each section contains
@@ -592,7 +592,7 @@
         value</literal>).  Let's walk through this file and learn how
         to use them.</para>
 
-      <sect3 id="svn-ch-6-sect-3.2.1">
+      <sect3 id="svn.serverconfig.svnserve.auth.users">
         <title>Create a 'users' file and realm</title>
 
         <para>For now, the <literal>[general]</literal> section of the
@@ -612,7 +612,7 @@
           client displays it in the authentication prompt, and uses it
           as a key (along with the server's hostname and port) for
           caching credentials on disk (see <xref
-          linkend="svn-ch-6-sect-2.2"/>.)  The
+          linkend="svn.serverconfig.netmodel.credcache"/>.)  The
           <literal>password-db</literal> variable points to a separate
           file that contains a list of usernames and passwords, using
           the same familiar format.  For example:</para>
@@ -640,7 +640,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-6-sect-3.2.2">
+      <sect3 id="svn.serverconfig.svnserve.auth.general">
         <title>Set access controls</title>
 
         <para>There are two more variables to set in the
@@ -693,9 +693,9 @@
           However, if you need per-directory access control, you'll
           need to use either use Apache with
           <command>mod_authz_svn</command> (see <xref
-          linkend="svn-ch-6-sect-4.4.2"/>) or use a
+          linkend="svn.serverconfig.httpd.authz.perdir"/>) or use a
           <command>pre-commit</command> hook script to control write
-          access (see <xref linkend="svn-ch-5-sect-2.1"/>).  The
+          access (see <xref linkend="svn.reposadmin.create.hooks"/>).  The
           Subversion distribution comes with
           <command>commit-access-control.pl</command> and the more
           sophisticated <command>svnperms.py</command> scripts for use
@@ -704,7 +704,7 @@
       </sect3>
     </sect2>
 
-    <sect2 id="svn-ch-6-sect-3.4">
+    <sect2 id="svn.serverconfig.svnserve.sshauth">
       <title>SSH authentication and authorization</title>
 
       <para><command>svnserve</command>'s built-in authentication can
@@ -761,7 +761,7 @@
         program prompting for authentication, and
         <emphasis>not</emphasis> the <command>svn</command> client
         program.  That means there's no automatic password caching
-        going on (see <xref linkend="svn-ch-6-sect-2.2"/>).  The
+        going on (see <xref linkend="svn.serverconfig.netmodel.credcache"/>).  The
         Subversion client often makes multiple connections to the
         repository, though users don't normally notice this due to the
         password caching feature.  When using
@@ -780,7 +780,7 @@
         going to be accessing the repository directly, you may want to
         place them into a common group, and you'll need to be careful
         about umasks.  (Be sure to read <xref
-        linkend="svn-ch-6-sect-5"/>.)  But even in the case of
+        linkend="svn.serverconfig.multimethod"/>.)  But even in the case of
         tunneling, the <filename>svnserve.conf</filename> file can
         still be used to block access, by simply setting
         <literal>auth-access = read</literal> or <literal>auth-access
@@ -789,7 +789,7 @@
       <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>
-        file (see <xref linkend="svn-ch-7-sect-1"/>.)  For example,
+        file (see <xref linkend="svn.advanced.confarea"/>.)  For example,
         suppose you want to use RSH instead of SSH.  In the
         <literal>[tunnels]</literal> section of your
         <filename>config</filename> file, simply define it like
@@ -842,7 +842,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-6-sect-3.5">
+    <sect2 id="svn.serverconfig.svnserve.sshtricks">
       <title>SSH configuration tricks</title>
 
       <para>It's not only possible to control the way in which the
@@ -853,7 +853,7 @@
         by <command>sshd</command>, as well as how to have multiple
         users share a single system account.</para>
       
-      <sect3 id="svn-ch-6-sect-3.5.1">
+      <sect3 id="svn.serverconfig.svnserve.sshtricks.setup">
         <title>Initial setup</title>
         
         <para>To begin, locate the home directory of the account
@@ -898,7 +898,7 @@
 
       </sect3>
       
-      <sect3 id="svn-ch-6-sect-3.5.2">
+      <sect3 id="svn.serverconfig.svnserve.sshtricks.fixedcmd">
         <title>Controlling the invoked command</title>
 
         <para>Because we can specify the executed server-side command,
@@ -912,7 +912,7 @@
         <para>In this example, <filename>/path/to/svnserve</filename>
           might be a custom wrapper script
           around <command>svnserve</command> which sets the umask (see
-          <xref linkend="svn-ch-6-sect-5"/>).  It also shows how to
+          <xref linkend="svn.serverconfig.multimethod"/>).  It also shows how to
           anchor <command>svnserve</command> in a virtual root
           directory, just as one often does when
           running <command>svnserve</command> as a daemon process.
@@ -971,7 +971,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-6-sect-4">
+  <sect1 id="svn.serverconfig.httpd">
     
     <title>httpd, the Apache HTTP server</title>
 
@@ -1048,7 +1048,7 @@
     </sidebar>
 
 
-    <sect2 id="svn-ch-6-sect-4.1">
+    <sect2 id="svn.serverconfig.httpd.prereqs">
       <title>Prerequisites</title>
       
       <para>To network your repository over HTTP, you basically need
@@ -1087,7 +1087,7 @@
       
     </sect2>
 
-    <sect2 id="svn-ch-6-sect-4.2">
+    <sect2 id="svn.serverconfig.httpd.basic">
       <title>Basic Apache Configuration</title>
       
       <para>Once you have all the necessary components installed on
@@ -1228,7 +1228,7 @@
         appropriately, that allows Apache to work with those files.
         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-ch-6-sidebar-1"/>.)</para>
+        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
@@ -1248,7 +1248,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-6-sect-4.3">
+    <sect2 id="svn.serverconfig.httpd.authn">
       <title>Authentication Options</title>
 
       <para>At this point, if you configured
@@ -1284,7 +1284,7 @@
         </listitem>
       </itemizedlist>
 
-      <sect3 id="svn-ch-6-sect-4.3.1">
+      <sect3 id="svn.serverconfig.httpd.authn.basic">
         <title>Basic HTTP Authentication</title>
         
         <para>The easiest way to authenticate a client is via the
@@ -1365,7 +1365,7 @@
 </screen>
 
         <para>Be sure to read the next section (<xref
-          linkend="svn-ch-6-sect-4.4"/>) for more detail on the
+          linkend="svn.serverconfig.httpd.authz"/>) for more detail on the
           <literal>Require</literal> directive and other ways to set
           authorization policies.</para>
 
@@ -1390,7 +1390,7 @@
       </sect3>
 
 
-      <sect3 id="svn-ch-6-sect-4.3.2">
+      <sect3 id="svn.serverconfig.httpd.authn.sslcerts">
         <title>SSL Certificate Management</title>
         
         <para>Businesses that need to expose their repositories for access
@@ -1459,7 +1459,7 @@
           will be cached in your private run-time
           <filename>auth/</filename> area in just the same way your
           username and password are cached (see <xref
-          linkend="svn-ch-6-sect-2.2"/>.)  If cached, Subversion will
+          linkend="svn.serverconfig.netmodel.credcache"/>.)  If cached, Subversion will
           automatically remember to trust this certificate in future
           negotiations.</para>
 
@@ -1540,7 +1540,7 @@
 
     </sect2>
     
-    <sect2 id="svn-ch-6-sect-4.4">
+    <sect2 id="svn.serverconfig.httpd.authz">
       <title>Authorization Options</title>
 
       <para>At this point, you've configured authentication, but not
@@ -1550,7 +1550,7 @@
         section describes two strategies for controlling access to
         your repositories.</para>
 
-      <sect3 id="svn-ch-6-sect-4.4.1">
+      <sect3 id="svn.serverconfig.httpd.authz.blanket">
         <title>Blanket Access Control</title>
 
         <para>The simplest form of access control is to authorize
@@ -1637,7 +1637,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-6-sect-4.4.2">
+      <sect3 id="svn.serverconfig.httpd.authz.perdir">
         <title>Per-Directory Access Control</title>
 
         <para>It's possible to set up finer-grained permissions using
@@ -1682,7 +1682,7 @@
           challenges, so all users are treated as
           <quote>anonymous</quote>.</para>
 
-        <example id="svn-ch-6-sect-4.4.2-ex-1">
+        <example id="svn.serverconfig.httpd.authz.perdir.ex-1">
           <title>A sample configuration for anonymous access.</title>
           <programlisting>
 <Location /repos>
@@ -1702,7 +1702,7 @@
           <literal>Require valid-user</literal> directive, and defines
           a means to authenticate.</para>
 
-        <example id="svn-ch-6-sect-4.4.2-ex-2">
+        <example id="svn.serverconfig.httpd.authz.perdir.ex-2">
           <title>A sample configuration for authenticated access.</title>
           <programlisting>
 <Location /repos>
@@ -1735,7 +1735,7 @@
           and <literal>Require valid-user</literal> directives
           together.</para>
 
-        <example id="svn-ch-6-sect-4.4.2-ex-3">
+        <example id="svn.serverconfig.httpd.authz.perdir.ex-3">
           <title>A sample configuration for mixed
             authenticated/anonymous access.</title>
           <programlisting>
@@ -1907,7 +1907,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-6-sect-4.4.3">
+      <sect3 id="svn.serverconfig.httpd.authz.pathauthzoff">
         <title>Disabling Path-based Checks</title>
 
         <para>The <command>mod_dav_svn</command> module goes through a
@@ -1953,7 +1953,7 @@
           <filename>httpd.conf</filename> file, use the
           <literal>SVNPathAuthz</literal> directive:</para>
 
-        <example id="svn-ch-6-sect-4.4.3-ex-1">
+        <example id="svn.serverconfig.httpd.authz.pathauthzoff.ex-1">
           <title>Disabling path checks altogether</title>
           <programlisting>
 <Location /repos>
@@ -1975,14 +1975,14 @@
 
     </sect2>
 
-    <sect2 id="svn-ch-6-sect-4.5">
+    <sect2 id="svn.serverconfig.httpd.extra">
       <title>Extra Goodies</title>
 
       <para>We've covered most of the authentication and authorization
         options for Apache and mod_dav_svn.  But there are a few other
         nice features that Apache provides.</para>
 
-      <sect3 id="svn-ch-6-sect-4.5.1">
+      <sect3 id="svn.serverconfig.httpd.extra.browsing">
         <title>Repository Browsing</title>
         
         <para>One of the most useful benefits of an Apache/WebDAV
@@ -2075,7 +2075,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-6-sect-4.5.2">
+      <sect3 id="svn.serverconfig.httpd.extra.other">
         <title>Other Features</title>
         
         <para>Several of the features already provided by Apache in
@@ -2117,7 +2117,7 @@
           Linux) have the built-in ability to mount a DAV server as a
           standard network <quote>share</quote>.  This is a
           complicated topic; for details, read <xref
-          linkend="svn-ap-c"/>.</para>
+          linkend="svn.webdav"/>.</para>
 
         
       </sect3>
@@ -2130,7 +2130,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 5 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-6-sect-5">
+  <sect1 id="svn.serverconfig.multimethod">
     
     <title>Supporting Multiple Repository Access Methods</title>
 

Modified: trunk/src/ru/book/ch07.xml
==============================================================================
--- trunk/src/ru/book/ch07.xml	(original)
+++ trunk/src/ru/book/ch07.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-7">
+<chapter id="svn.advanced">
   <title>Advanced Topics</title>
 
   <simplesect>
@@ -32,7 +32,7 @@
       basic file and directory versioning capabilities of Subversion.
       If you haven't already read about those, or if you need a
       refresher, we recommend that you check out <xref
-      linkend="svn-ch-2" /> and <xref linkend="svn-ch-3" />.  Once
+      linkend="svn.basic" /> and <xref linkend="svn.tour" />.  Once
       you've mastered the basics and consumed this chapter, you'll be
       a Subversion power-user!
     </para>
@@ -42,7 +42,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 1:  RUNTIME CONFIGURATION AREA                      *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-7-sect-1">
+  <sect1 id="svn.advanced.confarea">
     <title>Runtime Configuration Area</title>
     
     <para>Subversion provides many optional behaviors that can be
@@ -65,7 +65,7 @@
       prefers.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-1.1">
+    <sect2 id="svn.advanced.confarea.layout">
       <title>Configuration Area Layout</title>
 
       <para>The first time that the <command>svn</command>
@@ -134,7 +134,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-1.2">
+    <sect2 id="svn.advanced.confarea.windows-registry">
       <title>Configuration and the Windows Registry</title>
 
       <para>In addition to the usual INI-based configuration area,
@@ -198,7 +198,7 @@
         file from the Explorer shell, which will cause the data to be
         merged into your registry.</para>
 
-      <example id="svn-ch-7-sect-1.2-ex-1">
+      <example id="svn.advanced.confarea.windows-registry.ex-1">
         <title>Sample Registration Entries (.reg) File.</title>
 
         <programlisting>
@@ -256,14 +256,14 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-1.3">
+    <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>
 
-      <sect3 id="svn-ch-7-sect-1.3.1">
+      <sect3 id="svn.advanced.confarea.opts.servers">
         <title>Servers</title>
 
         <para>The <filename>servers</filename> file contains
@@ -373,7 +373,7 @@
                 debugging output to yield.  The default value is
                 <literal>0</literal>, which will silence all debugging
                 output.  For more information about how Subversion
-                makes use of Neon, see <xref linkend="svn-ch-8" />.</para>
+                makes use of Neon, see <xref linkend="svn.developer" />.</para>
             </listitem>
           </varlistentry>
           <varlistentry>
@@ -422,7 +422,7 @@
         </variablelist>
 
       </sect3>
-      <sect3 id="svn-ch-7-sect-1.3.2">
+      <sect3 id="svn.advanced.confarea.opts.config">
         <title>Config</title>
 
         <para>The <filename>config</filename> file contains the rest
@@ -449,7 +449,7 @@
                 the <option>--no-auth-cache</option> command-line
                 parameter (for those subcommands that support it).
                 For more information, see <xref
-                linkend="svn-ch-6-sect-2.2"/>.</para>
+                linkend="svn.serverconfig.netmodel.credcache"/>.</para>
             </listitem>
           </varlistentry>
           <varlistentry>
@@ -484,7 +484,7 @@
                 populated with the current value of the property the
                 user wishes to edit, and the edits take place right
                 in the editor program (see <xref
-                linkend="svn-ch-7-sect-2" />).  This option's default
+                linkend="svn.advanced.props" />).  This option's default
                 value is empty.  If the option is not set, Subversion
                 will fall back to checking the environment variables
                 <literal>SVN_EDITOR</literal>,
@@ -533,7 +533,7 @@
           define new tunnel schemes for use with
           <command>svnserve</command> and <literal>svn://</literal>
           client connections.  For more details, see <xref
-          linkend="svn-ch-6-sect-3.4"/>.</para>
+          linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
 
         <para>The <literal>miscellany</literal> section is where
           everything that doesn't belong elsewhere winds up.
@@ -550,7 +550,7 @@
                 command, Subversion lists unversioned files and
                 directories along with the versioned ones, annotating
                 them with a <literal>?</literal> character (see <xref
-                linkend="svn-ch-3-sect-5.3.1" />).  Sometimes, it can
+                linkend="svn.tour.cycle.examine.status" />).  Sometimes, it can
                 be annoying to see uninteresting, unversioned
                 items—for example, object files that result from
                 a program's compilation—in this display.  The
@@ -568,7 +568,7 @@
                 of any of these commands by using
                 the <option>--no-ignore</option> command-line flag.
                 For information on more fine-grained control of
-                ignored items, see <xref linkend="svn-ch-7-sect-2.3.3"
+                ignored items, see <xref linkend="svn.advanced.props.special.ignore"
                 />.</para>
             </listitem>
           </varlistentry>
@@ -591,7 +591,7 @@
               <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
-                <xref linkend="svn-ch-9-sect-1.1"/>.)  The Subversion
+                <xref linkend="svn.ref.svn.sw"/>.)  The Subversion
                 repository stores log messages in UTF8, and assumes
                 that your log message is written using your operating
                 system's native locale.  You should specify a
@@ -657,7 +657,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 2:  PROPERTIES                                      *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-7-sect-2">
+  <sect1 id="svn.advanced.props">
     <title>Properties</title>
 
     <para>We've already covered in detail how Subversion stores and
@@ -693,7 +693,7 @@
         arbitrary properties attached to it.  The same constraints
         apply—human-readable, text names and anything-you-want,
         binary values—except that revision properties are not
-        versioned.  See <xref linkend="svn-ch-5-sect-1.2" /> for more
+        versioned.  See <xref linkend="svn.reposadmin.basics.revprops" /> for more
         information on these unversioned properties.</para>
     </sidebar>
 
@@ -706,7 +706,7 @@
       enhance your version control experience.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-2.1">
+    <sect2 id="svn.advanced.props.why">
       <title>Why Properties?</title>
 
       <para>Properties can be very useful additions to your working
@@ -746,7 +746,7 @@
         scripts know better.  They know that they can use
         <command>svn</command> (or better yet, they can use the
         Subversion language bindings—see <xref
-        linkend="svn-ch-8-sect-2.3" />) to dig out the extra
+        linkend="svn.developer.usingapi.otherlangs" />) to dig out the extra
         information that your site needs to display without having to
         read an index file or play path manipulation games.</para>
 
@@ -759,7 +759,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-2.2">
+    <sect2 id="svn.advanced.props.manip">
       <title>Manipulating Properties</title>
 
       <para>The <command>svn</command> command affords a few ways to
@@ -794,7 +794,7 @@
         <command>svn</command> program supplies the
         <command>propedit</command> command.  This command uses the
         configured editor program (see <xref
-        linkend="svn-ch-7-sect-1.3.2" />) to add or modify properties.
+        linkend="svn.advanced.confarea.opts.config" />) to add or modify properties.
         When you run the command, <command>svn</command> invokes your
         editor program on a temporary file that contains the current
         value of the property (or which is empty, if you are adding a
@@ -937,7 +937,7 @@
 
         <para>Note that the ability to modify these unversioned
           properties must be explicitly added by the repository
-          administrator (see <xref linkend="svn-ch-5-sect-2.1" />).
+          administrator (see <xref linkend="svn.reposadmin.create.hooks" />).
           Since the properties aren't versioned, you run the risk of
           losing information if you aren't careful with your edits.
           The repository administrator can setup methods to protect
@@ -975,7 +975,7 @@
         <filename>calc/button.c</filename>, but not modified its
         textual contents.  Had we changed both, we would have seen
         <literal>M</literal> in the first column, too (see <xref
-        linkend="svn-ch-3-sect-5.3.1" />).</para>
+        linkend="svn.tour.cycle.examine.status" />).</para>
 
       <sidebar>
         <title>Property Conflicts</title>
@@ -1045,7 +1045,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-2.3">
+    <sect2 id="svn.advanced.props.special">
       
       <title>Special Properties</title>
 
@@ -1059,7 +1059,7 @@
         we'll untangle the mystery, and describe how these special
         properties make your life just a little easier.</para>
       
-      <sect3 id="svn-ch-7-sect-2.3.1">
+      <sect3 id="svn.advanced.props.special.executable">
         <title><literal>svn:executable</literal></title>
  
         <para>The <literal>svn:executable</literal> property is used
@@ -1099,7 +1099,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-7-sect-2.3.2">
+      <sect3 id="svn.advanced.props.special.mime-type">
         <title><literal>svn:mime-type</literal></title>
         
         <para>The <literal>svn:mime-type</literal> property serves
@@ -1140,7 +1140,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-7-sect-2.3.3">
+      <sect3 id="svn.advanced.props.special.ignore">
         <title><literal>svn:ignore</literal></title>
 
         <para>The <literal>svn:ignore</literal> property contains a
@@ -1148,7 +1148,7 @@
           will ignore.  Perhaps the most commonly used special
           property, it works in conjunction with the
           <literal>global-ignores</literal> run-time configuration
-          option (see <xref linkend="svn-ch-7-sect-1.3.2" />) to
+          option (see <xref linkend="svn.advanced.confarea.opts.config" />) to
           filter unversioned files and directories out of commands
           <command>svn status</command>, <command>svn
           add</command>, and <command>svn import</command>.</para>
@@ -1314,7 +1314,7 @@
    
       </sect3>
 
-      <sect3 id="svn-ch-7-sect-2.3.4">
+      <sect3 id="svn.advanced.props.special.keywords">
         <title><literal>svn:keywords</literal></title>
 
         <para>Subversion has the ability to substitute
@@ -1516,7 +1516,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-7-sect-2.3.5">
+      <sect3 id="svn.advanced.props.special.eol-style">
         <title><literal>svn:eol-style</literal></title>
 
         <para>Unless otherwise noted using a versioned file's
@@ -1645,18 +1645,18 @@
         
       </sect3>
 
-      <sect3 id="svn-ch-7-sect-2.3.6">
+      <sect3 id="svn.advanced.props.special.externals">
         <title><literal>svn:externals</literal></title>
 
         <para>The <literal>svn:externals</literal> property contains
           instructions for Subversion to populate a versioned
           directory with one or more other checked-out Subversion
           working copies.  For more information on this keyword and
-          its use, see <xref linkend="svn-ch-7-sect-3"/>.</para>
+          its use, see <xref linkend="svn.advanced.externals"/>.</para>
 
       </sect3>
 
-      <sect3 id="svn-ch-7-sect-2.3.7">
+      <sect3 id="svn.advanced.props.special.special">
         <title><literal>svn:special</literal></title>
 
         <para>The <literal>svn:special</literal> property is the only
@@ -1683,7 +1683,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-2.4">
+    <sect2 id="svn.advanced.props.auto">
       <title>Automatic Property Setting</title>
 
       <para>Properties are a powerful feature of Subversion, acting as
@@ -1731,7 +1731,7 @@
         <literal>native</literal>, and <literal>svn:keywords</literal>
         set to <literal>Id</literal>.  Auto-prop support is perhaps
         the handiest property related tool in the Subversion toolbox.
-        See <xref linkend="svn-ch-7-sect-1.3.2"/> for more about
+        See <xref linkend="svn.advanced.confarea.opts.config"/> for more about
         configuring that support.</para>
 
     </sect2>     
@@ -1740,7 +1740,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 2 1/2:  PEG AND OPERATIVE REVISIONS                 *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-7-sect-2b">
+  <sect1 id="svn.advanced.pegrevs">
     <title>Peg and Operative Revisions</title>
 
     <para>The ability to copy, move, and rename files and directories;
@@ -1996,7 +1996,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 3:  EXTERNALS DEFINITIONS                           *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-7-sect-3">
+  <sect1 id="svn.advanced.externals">
     <title>Externals Definitions</title>
     
     <para>Sometimes it is useful to construct a working copy that is
@@ -2018,7 +2018,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-ch-7-sect-2.1"/>).  
+      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
@@ -2120,7 +2120,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 4:  VENDOR BRANCHES                                 *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-7-sect-4">
+  <sect1 id="svn.advanced.vendorbr">
     <title>Vendor branches</title>
 
     <para>As is especially the case when developing software, the data
@@ -2136,7 +2136,7 @@
     <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
-      Runtime library (see <xref linkend="svn-ch-8-sect-2.1" />).  The
+      Runtime library (see <xref linkend="svn.developer.usingapi.apr" />).  The
       Subversion source code depends on the APR library for all its
       portability needs.  In earlier stages of Subversion's
       development, the project closely tracked APR's changing API,
@@ -2155,7 +2155,7 @@
       repository, you could also use Subversion's externals
       definitions to effectively <quote>pin down</quote> specific
       versions of that information to some location in your own
-      working copy directory (see <xref linkend="svn-ch-7-sect-3" />).</para>
+      working copy directory (see <xref linkend="svn.advanced.externals" />).</para>
 
     <para>But sometimes you want to maintain custom modifications to
       third-party data in your own version control system.  Returning
@@ -2195,7 +2195,7 @@
       worse, manual) method for swapping in your customizations.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-4.1">
+    <sect2 id="svn.advanced.vendorbr.general">
       <title>General Vendor Branch Management Procedure</title>
 
       <para>Managing vendor branches generally works like this.  You
@@ -2234,7 +2234,7 @@
     
       <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-ch-4-sect-6" />)
+        we tag that version (see <xref linkend="svn.branchmerge.tags" />)
         and then copy it into the main development branch.  Our copy
         will create a new directory called
         <filename>libcomplex</filename> in our existing
@@ -2349,7 +2349,7 @@
          running with just svn merge, now that it ignores ancestry. -->
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-7-sect-4.2">
+    <sect2 id="svn.advanced.vendorbr.svn_load_dirs">
       <title><command>svn_load_dirs.pl</command></title>
 
       <para>Vendor drops that contain more than a few deletes,
@@ -2479,7 +2479,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 5:  LOCALIZATION                                    *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-7-sect-5">
+  <sect1 id="svn.advanced.l10n">
     <title>Localization</title>
 
     <para><firstterm>Localization</firstterm> is the act of making
@@ -2490,7 +2490,7 @@
       be <firstterm>localized</firstterm>.  This section describes
       steps Subversion has made towards localization.</para>
 
-    <sect2 id="svn-ch7-sect-5.1">
+    <sect2 id="svn.advanced.l10n.understanding">
       <title>Understanding locales</title>
 
       <para>Most modern operating systems have a notion of the
@@ -2545,7 +2545,7 @@
 
     </sect2>
 
-    <sect2 id="svn-ch7-sect-5.2">
+    <sect2 id="svn.advanced.l10n.svnuse">
       <title>Subversion's use of locales</title>
 
       <para>The Subversion client, <command>svn</command>, honors the
@@ -2648,7 +2648,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 6:  SUBVERSION REPOSITORY URLS                      *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-7-sect-6">
+  <sect1 id="svn.advanced.reposurls">
     <title>Subversion Repository URLs</title>
 
     <para>As illustrated throughout this book, Subversion uses URLs to

Modified: trunk/src/ru/book/ch08.xml
==============================================================================
--- trunk/src/ru/book/ch08.xml	(original)
+++ trunk/src/ru/book/ch08.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-8">
+<chapter id="svn.developer">
   <title>Developer Information</title>
   
   <simplesect>
@@ -28,7 +28,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 1:  LAYERED LIBRARY DESIGN                          *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-8-sect-1">
+  <sect1 id="svn.developer.layerlib">
     <title>Layered Library Design</title>
 
     <para>Subversion has a modular design, implemented as a collection
@@ -37,12 +37,12 @@
       main layers—the Repository Layer, the Repository Access
       (RA) Layer, or the Client Layer.  We will examine these layers
       shortly, but first, see our brief inventory of Subversion's
-      libraries in <xref linkend="svn-ch-8-table-1"/>.  For the sake
+      libraries in <xref linkend="svn.developer.layerlib.tbl-1"/>.  For the sake
       of consistency, we will refer to the libraries by their
       extensionless Unix library names (e.g.: libsvn_fs, libsvn_wc,
       mod_dav_svn).</para>
 
-    <table id="svn-ch-8-table-1">
+    <table id="svn.developer.layerlib.tbl-1">
       <title>A Brief Inventory of the Subversion Libraries</title>
       <tgroup cols="2">
         <thead>
@@ -115,7 +115,7 @@
     </table>
 
     <para>The fact that the word <quote>miscellaneous</quote> only
-      appears once in <xref linkend="svn-ch-8-table-1"/> is a good
+      appears once in <xref linkend="svn.developer.layerlib.tbl-1"/> is a good
       sign.  The Subversion development team is serious about making
       sure that functionality lives in the right layer and libraries.
       Perhaps the greatest advantage of the modular design is its lack
@@ -141,10 +141,10 @@
       command-line client does.  Subversion's libsvn_client library is
       the one-stop shop for most of the functionality necessary for
       designing a working Subversion client (see <xref
-      linkend="svn-ch-8-sect-1.3"/>).</para>
+      linkend="svn.developer.layerlib.client"/>).</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-1.1">
+    <sect2 id="svn.developer.layerlib.repos">
       <title>Repository Layer</title>
 
       <para>When referring to Subversion's Repository Layer, we're
@@ -166,7 +166,7 @@
         available abstract storage backends—either a Berkeley DB
         database environment, or a flat-file representation.  (To
         learn more about the two repository back-ends, see <xref
-        linkend="svn-ch-5-sect-1.3"/>.)  However, there has been
+        linkend="svn.reposadmin.basics.backends"/>.)  However, there has been
         considerable interest by the development community in giving
         future releases of Subversion the ability to use other
         back-end database systems, perhaps through a mechanism such as
@@ -267,10 +267,10 @@
         Subversion.  Think of a directory tree as a two-dimensional
         system, where a node's siblings represent a sort of
         left-and-right motion, and descending into subdirectories a
-        downward motion.  <xref linkend="svn-ch-8-dia-1"/> shows
+        downward motion.  <xref linkend="svn.developer.layerlib.repos.dia-1"/> shows
         a typical representation of a tree as exactly that.</para>
 
-      <figure id="svn-ch-8-dia-1">
+      <figure id="svn.developer.layerlib.repos.dia-1">
         <title>Files and directories in two dimensions</title>
         <graphic fileref="images/ch08dia1.png"/>
       </figure>
@@ -293,10 +293,10 @@
         third-dimensional context needed to understand the difference
         between <filename>/foo/bar</filename> in revision 32, and the
         same path as it exists in revision 98.  <xref
-        linkend="svn-ch-8-dia-2"/> shows revision history as an
+        linkend="svn.developer.layerlib.repos.dia-2"/> shows revision history as an
         added dimension to the Subversion filesystem universe.</para>
 
-      <figure id="svn-ch-8-dia-2">
+      <figure id="svn.developer.layerlib.repos.dia-2">
         <title>Versioning time—the third dimension!</title>
         <graphic fileref="images/ch08dia2.png"/>
       </figure>
@@ -350,7 +350,7 @@
         checks for a non-successful error return from the function it
         wraps, and returns that error if it exists.</para>
 
-      <example id="svn-ch-8-sect-1.1-ex-1">
+      <example id="svn.developer.layerlib.repos.ex-1">
         <title>Using the Repository Layer</title>
 
         <programlisting>
@@ -449,7 +449,7 @@
         a special kind of reporting mechanism that does not really
         belong in the core filesystem library itself.  (For more
         information regarding Subversion's repository hooks, see <xref
-        linkend="svn-ch-5-sect-2.1" />.)</para>
+        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
@@ -490,7 +490,7 @@
     </sect2>
 
     <!-- ****************************************************************** -->
-    <sect2 id="svn-ch-8-sect-1.2">
+    <sect2 id="svn.developer.layerlib.ra">
       <title>Repository Access Layer</title>
 
       <para>If the Subversion Repository Layer is at <quote>the other
@@ -536,7 +536,7 @@
   - handles 'svn' schema
 </screen>
     
-      <sect3 id="svn-ch-8-sect-1.2.1">
+      <sect3 id="svn.developer.layerlib.ra.dav">
         <title>RA-DAV (Repository Access Using HTTP/DAV)</title>
 
         <para>The libsvn_ra_dav library is designed for use by clients
@@ -638,7 +638,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-8-sect-1.2.2">
+      <sect3 id="svn.developer.layerlib.ra.svn">
         <title>RA-SVN (Custom Protocol Repository Access)</title>
 
         <para>In addition to the standard HTTP/WebDAV protocol,
@@ -664,7 +664,7 @@
 
       </sect3>
 
-      <sect3 id="svn-ch-8-sect-1.2.3">
+      <sect3 id="svn.developer.layerlib.ra.local">
         <title>RA-Local (Direct Repository Access)</title>
 
         <para>Not all communications with a Subversion repository
@@ -692,12 +692,12 @@
           contents of the file at that location by examining the
           filesystem directly.  However, Subversion's resources exist
           in a virtual filesystem (see <xref
-          linkend="svn-ch-8-sect-1.1" />), and your browser will not
+          linkend="svn.developer.layerlib.repos" />), and your browser will not
           understand how to read that filesystem.</para>
 
       </sect3>
 
-      <sect3 id="svn-ch-8-sect-1.2.4">
+      <sect3 id="svn.developer.layerlib.ra.yours">
         <title>Your RA Library Here</title>
 
         <para>For those who wish to access a Subversion repository
@@ -715,7 +715,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-1.3">
+    <sect2 id="svn.developer.layerlib.client">
       <title>Client Layer</title>
       
       <para>On the client side, the Subversion working copy is where
@@ -740,7 +740,7 @@
         to the <filename>CVS</filename> administrative directories
         found in CVS working copies.  For more information about the
         <filename>.svn</filename> administrative area, see <xref
-        linkend="svn-ch-8-sect-3"/>in this chapter.</para>
+        linkend="svn.developer.insidewc"/>in this chapter.</para>
 
       <para>The Subversion client library, libsvn_client, has the
         broadest responsibility; its job is to mingle the
@@ -799,7 +799,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 2:  USING THE APIS                                  *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-8-sect-2">
+  <sect1 id="svn.developer.usingapi">
     <title>Using the APIs</title>
 
     <para>Developing applications against the Subversion library APIs
@@ -830,7 +830,7 @@
       the scope of a given function or datatype.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-2.1">
+    <sect2 id="svn.developer.usingapi.apr">
       <title>The Apache Portable Runtime Library</title>
 
       <para>Along with Subversion's own datatype, you will see many
@@ -874,13 +874,13 @@
         users of the Subversion API must also link against APR, must
         call <function>apr_initialize()</function> to initialize the
         APR subsystem, and then must acquire a pool for use with
-        Subversion API calls.  See <xref linkend="svn-ch-8-sect-5"/>
+        Subversion API calls.  See <xref linkend="svn.developer.pools"/>
         for more information.</para>
 
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-2.2">
+    <sect2 id="svn.developer.usingapi.urlpath">
       <title>URL and Path Requirements</title>
 
       <para>With remote version control operation as the whole point
@@ -915,7 +915,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-2.3">
+    <sect2 id="svn.developer.usingapi.otherlangs">
       <title>Using Languages Other than C and C++</title> 
 
       <para>If you are interested in using the Subversion libraries in
@@ -949,7 +949,7 @@
         example.  Note the difference in size and complexity of the
         function this time!</para>
 
-      <example id="svn-ch-8-sect-2.3-ex-1">
+      <example id="svn.developer.usingapi.otherlangs.ex-1">
         <title>Using the Repository Layer with Python</title>
 
         <programlisting>
@@ -1007,7 +1007,7 @@
         just a few lines of Python, you can check out a fully
         functional Subversion working copy!</para>
 
-      <example id="svn-ch-8-sect-2.3-ex-2">
+      <example id="svn.developer.usingapi.otherlangs.ex-2">
         <title>A Simple Script to Check Out a Working Copy.</title>
 
         <programlisting>
@@ -1058,7 +1058,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 3:  INSIDE THE WORKING COPY ADMINISTRATION AREA     *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-8-sect-3">
+  <sect1 id="svn.developer.insidewc">
     <title>Inside the Working Copy Administration Area</title>
     
     <para>As we mentioned earlier, each directory of a Subversion
@@ -1092,7 +1092,7 @@
       couple of the most important items.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-3.1">
+    <sect2 id="svn.developer.insidewc.entries">
       <title>The Entries File</title>
 
       <para>Perhaps the single most important file in the
@@ -1126,7 +1126,7 @@
       <para>The following is an example of an actual entries
         file:</para>
 
-      <example id="svn-ch-8-sect-3-ex-1">
+      <example id="svn.developer.insidewc.entries.ex-1">
         <title>Contents of a Typical <filename>.svn/entries</filename>
           File</title>
         <programlisting>
@@ -1220,7 +1220,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-3.2">
+    <sect2 id="svn.developer.insidewc.base-and-props">
       <title>Pristine Copies and Property Files</title>
 
       <para>As mentioned before, the <filename>.svn</filename>
@@ -1260,7 +1260,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 4:  WEBDAV                                          *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-8-sect-4">
+  <sect1 id="svn.developer.webdav">
     <title>WebDAV</title>
 
     <para>WebDAV (shorthand for <quote>Web-based Distributed Authoring
@@ -1290,7 +1290,7 @@
     </para>
 
     <para>For a more thorough discussion of WebDAV, how it works, and
-      how Subversion uses it, see <xref linkend="svn-ap-c"/>.  Among
+      how Subversion uses it, see <xref linkend="svn.webdav"/>.  Among
       other things, that appendix discusses the degree to which
       Subversion adheres to the generic WebDAV specification, and how
       that affects interoperability with generic WebDAV
@@ -1300,7 +1300,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 5:  PROGRAMMING WITH MEMORY POOLS                   *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-8-sect-5">
+  <sect1 id="svn.developer.pools">
     <title>Programming with Memory Pools</title>
 
     <para>Almost every developer who has used the C programming
@@ -1370,7 +1370,7 @@
       is fairly common—recursively crawling a directory tree,
       doing some task to each thing in the tree.</para>
 
-    <example id="svn-ch-8-sect-5-ex-1">
+    <example id="svn.developer.pools.ex-1">
       <title>Effective Pool Usage</title>
       <programlisting>
 /* Recursively crawl over DIRECTORY, adding the paths of all its file
@@ -1483,7 +1483,7 @@
   <!-- ******************************************************************* -->
   <!-- *** SECTION 6:  CONTRIBUTING TO SUBVERSION                      *** -->
   <!-- ******************************************************************* -->
-  <sect1 id="svn-ch-8-sect-6">
+  <sect1 id="svn.developer.contrib">
     <title>Contributing to Subversion</title>
     
     <para>The official source of information about the Subversion
@@ -1497,7 +1497,7 @@
       started.</para>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-6.1">
+    <sect2 id="svn.developer.contrib.join">
       <title>Join the Community</title>
       
       <para>The first step in community participation is to find a way
@@ -1531,7 +1531,7 @@
     </sect2>
     
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-6.2">
+    <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
@@ -1584,7 +1584,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-6.3">
+    <sect2 id="svn.developer.contrib.hacking">
       <title>Become Familiar with Community Policies</title>
       
       <para>Now that you have a working copy containing the latest
@@ -1615,7 +1615,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-6.4">
+    <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,
@@ -1665,7 +1665,7 @@
     </sect2>
 
     <!-- ***************************************************************** -->
-    <sect2 id="svn-ch-8-sect-6.5">
+    <sect2 id="svn.developer.contrib.submit">
       <title>Donate Your Changes</title>
       
       <para>After making your modifications to the source code,

Modified: trunk/src/ru/book/ch09.xml
==============================================================================
--- trunk/src/ru/book/ch09.xml	(original)
+++ trunk/src/ru/book/ch09.xml	Sun May 29 04:30:18 2005
@@ -1,4 +1,4 @@
-<chapter id="svn-ch-9">
+<chapter id="svn.ref">
   <title>Subversion Complete Reference</title>
   
   <simplesect>
@@ -13,7 +13,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 1 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-9-sect-1">
+  <sect1 id="svn.ref.svn">
     <title>The Subversion Command Line Client:
       <command>svn</command></title>
     
@@ -34,10 +34,10 @@
 </screen>
 
     <para>You can find many more examples of how to use most client
-      commands in <xref linkend="svn-ch-3"/> and commands for managing
-      properties in <xref linkend="svn-ch-7-sect-2"/>.</para>
+      commands in <xref linkend="svn.tour"/> and commands for managing
+      properties in <xref linkend="svn.advanced.props"/>.</para>
     
-    <sect2 id="svn-ch-9-sect-1.1">
+    <sect2 id="svn.ref.svn.sw">
       <title><command>svn</command> Switches</title> 
       
       <para>While Subversion has different switches for its
@@ -269,8 +269,8 @@
               normally be omitted since they match a pattern in the
               <literal>global-ignores</literal> configuration option
               or the <literal>svn:ignore</literal> property. See <xref
-              linkend="svn-ch-7-sect-1.3.2"/> and <xref
-              linkend="svn-ch-7-sect-2.3.3"/> for more
+              linkend="svn.advanced.confarea.opts.config"/> and <xref
+              linkend="svn.advanced.props.special.ignore"/> for more
               information.</para>
           </listitem>
         </varlistentry>
@@ -376,7 +376,7 @@
 $ svn log -r 1729:{2002-02-17}
 </screen>
 
-            <para>See <xref linkend="svn-ch-3-sect-3.2"/> for more
+            <para>See <xref linkend="svn.tour.revs.keywords"/> for more
               information.</para>
           </listitem>
         </varlistentry>
@@ -389,7 +389,7 @@
               This switch requires that you also pass a revision
               with the <option>--revision</option>
               (<option>-r</option>) switch. See <xref
-              linkend="svn-ch-5-sect-1.2"/> for more details on
+              linkend="svn.reposadmin.basics.revprops"/> for more details on
               unversioned properties.</para>
           </listitem>
         </varlistentry>
@@ -482,10 +482,10 @@
       
     </sect2>
     
-    <sect2 id="svn-ch-9-sect-1.2">
+    <sect2 id="svn.ref.svn.c">
       <title><command>svn</command> Subcommands</title>
 
-      <refentry id="svn-ch-9-sect-1.2-re-add">
+      <refentry id="svn.ref.svn.c.add">
         <refnamediv>
           <refname>svn add</refname>
           <refpurpose>Add files, directories, or symbolic links.</refpurpose>
@@ -584,7 +584,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-blame">
+      <refentry id="svn.ref.svn.c.blame">
         <refnamediv>
           <refname>svn blame</refname>
           <refpurpose>Show author and revision information in-line
@@ -648,7 +648,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-cat">
+      <refentry id="svn.ref.svn.c.cat">
         <refnamediv>
           <refname>svn cat</refname>
           <refpurpose>Output the contents of the specified files or
@@ -727,7 +727,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-checkout">
+      <refentry id="svn.ref.svn.c.checkout">
         <refnamediv>
           <refname>svn checkout</refname>
           <refpurpose>Check out a working copy from a repository.</refpurpose>
@@ -857,7 +857,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-cleanup">
+      <refentry id="svn.ref.svn.c.cleanup">
         <refnamediv>
           <refname>svn cleanup</refname>
           <refpurpose>Recursively clean up the working copy.</refpurpose>
@@ -874,7 +874,7 @@
             <quote>working copy locked</quote> error, run this
             command to remove stale locks and get your working copy
             into a usable state again.  See <xref
-            linkend="svn-ap-b"/>.</para>
+            linkend="svn.tshoot"/>.</para>
 
           <para>If, for some reason, an <command>svn update</command>
             fails due to a problem running an external diff program
@@ -930,7 +930,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-commit">
+      <refentry id="svn.ref.svn.c.commit">
         <refnamediv>
           <refname>svn commit</refname>
           <refpurpose>Send changes from your working copy to the repository.</refpurpose>
@@ -949,7 +949,7 @@
             <command>svn</command> will launch your editor for you
             to compose a commit message.  See the
             <literal>editor-cmd</literal> section in <xref
-            linkend="svn-ch-7-sect-1.3.2"/>.</para>
+            linkend="svn.advanced.confarea.opts.config"/>.</para>
 
           <tip>
             <para>If you begin a commit and Subversion launches your
@@ -1057,7 +1057,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-copy">
+      <refentry id="svn.ref.svn.c.copy">
         <refnamediv>
           <refname>svn copy</refname>
           <refpurpose>Copy a file or directory in a working copy or
@@ -1226,7 +1226,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-delete">
+      <refentry id="svn.ref.svn.c.delete">
         <refnamediv>
           <refname>svn delete</refname>
           <refpurpose>Delete an item from a working copy
@@ -1333,7 +1333,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-diff">
+      <refentry id="svn.ref.svn.c.diff">
         <refnamediv>
           <refname>svn diff</refname>
           <refpurpose>Display the differences between two paths.</refpurpose>
@@ -1579,7 +1579,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-export">
+      <refentry id="svn.ref.svn.c.export">
         <refnamediv>
           <refname>svn export</refname>
           <refpurpose>Export a clean directory tree.</refpurpose>
@@ -1685,7 +1685,7 @@
       <!-- ================================================================= -->
 
 
-      <refentry id="svn-ch-9-sect-1.2-re-help">
+      <refentry id="svn.ref.svn.c.help">
         <refnamediv>
           <refname>svn help</refname>
           <refpurpose>Help!</refpurpose>
@@ -1727,7 +1727,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-import">
+      <refentry id="svn.ref.svn.c.import">
         <refnamediv>
           <refname>svn import</refname>
           <refpurpose>Recursively commit a copy of PATH to URL.</refpurpose>
@@ -1821,7 +1821,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-info">
+      <refentry id="svn.ref.svn.c.info">
         <refnamediv>
           <refname>svn info</refname>
           <refpurpose>Print information about PATHs.</refpurpose>
@@ -1917,7 +1917,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-list">
+      <refentry id="svn.ref.svn.c.list">
         <refnamediv>
           <refname>svn list</refname>
           <refpurpose>List directory entries in the repository.</refpurpose>
@@ -2017,13 +2017,13 @@
 </screen>
 
           <para>For further details, see <xref
-            linkend="svn-ch-3-sect-6.4"/>.</para>
+            linkend="svn.tour.history.list"/>.</para>
 
         </refsect1>
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-log">
+      <refentry id="svn.ref.svn.c.log">
         <refnamediv>
           <refname>svn log</refname>
           <refpurpose>Display commit log messages.</refpurpose>
@@ -2260,7 +2260,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-merge">
+      <refentry id="svn.ref.svn.c.merge">
         <refnamediv>
           <refname>svn merge</refname>
           <refpurpose>Apply the differences between two sources to a
@@ -2374,7 +2374,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-mkdir">
+      <refentry id="svn.ref.svn.c.mkdir">
         <refnamediv>
           <refname>svn mkdir</refname>
           <refpurpose>Create a new directory under version control.</refpurpose>
@@ -2454,7 +2454,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-move">
+      <refentry id="svn.ref.svn.c.move">
         <refnamediv>
           <refname>svn move</refname>
           <refpurpose>Move a file or directory.</refpurpose>
@@ -2562,7 +2562,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-propdel">
+      <refentry id="svn.ref.svn.c.propdel">
         <refnamediv>
           <refname>svn propdel</refname>
           <refpurpose>Remove a property from an item.</refpurpose>
@@ -2634,7 +2634,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-propedit">
+      <refentry id="svn.ref.svn.c.propedit">
         <refnamediv>
           <refname>svn propedit</refname>
           <refpurpose>Edit the property of one or more items under
@@ -2704,7 +2704,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-propget">
+      <refentry id="svn.ref.svn.c.propget">
         <refnamediv>
           <refname>svn propget</refname>
           <refpurpose>Print the value of a property.</refpurpose>
@@ -2722,7 +2722,7 @@
             versioned property of an item or items in your working
             copy, while the second prints unversioned remote
             property on a repository revision.  See <xref
-            linkend="svn-ch-7-sect-2"/> for more information on
+            linkend="svn.advanced.props"/> for more information on
             properties.</para>
         </refsect1>
 
@@ -2781,7 +2781,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-proplist">
+      <refentry id="svn.ref.svn.c.proplist">
         <refnamediv>
           <refname>svn proplist</refname>
           <refpurpose>List all properties.</refpurpose>
@@ -2862,7 +2862,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-propset">
+      <refentry id="svn.ref.svn.c.propset">
         <refnamediv>
           <refname>svn propset</refname>
           <refpurpose>Set PROPNAME to PROPVAL on files, directories, or revisions.</refpurpose>
@@ -2886,7 +2886,7 @@
           <tip>
             <para>Subversion has a number of <quote>special</quote>
               properties that affect its behavior.  See <xref
-              linkend="svn-ch-7-sect-2.3"/> for more on these
+              linkend="svn.advanced.props.special"/> for more on these
               properties.</para>
           </tip>
 
@@ -2985,7 +2985,7 @@
               administrator must explicitly enable revision property
               modifications by creating a hook named
               <literal>pre-revprop-change</literal>. See <xref
-              linkend="svn-ch-5-sect-2.1"/> for more information on
+              linkend="svn.reposadmin.create.hooks"/> for more information on
               hook scripts.</para>
           </note>
 
@@ -2993,7 +2993,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-resolved">
+      <refentry id="svn.ref.svn.c.resolved">
         <refnamediv>
           <refname>svn resolved</refname>
           <refpurpose>Remove <quote>conflicted</quote> state on
@@ -3012,7 +3012,7 @@
             conflict-related artifact files and allows PATH to be
             committed again; that is, it tells Subversion that the
             conflicts have been <quote>resolved</quote>.  See <xref
-            linkend="svn-ch-3-sect-5.4"/> for an in-depth look at
+            linkend="svn.tour.cycle.resolve"/> for an in-depth look at
             resolving conflicts.</para>
         </refsect1>
 
@@ -3077,7 +3077,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-revert">
+      <refentry id="svn.ref.svn.c.revert">
         <refnamediv>
           <refname>svn revert</refname>
           <refpurpose>Undo all local edits.</refpurpose>
@@ -3175,7 +3175,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-status">
+      <refentry id="svn.ref.svn.c.status">
         <refnamediv>
           <refname>svn status</refname>
           <refpurpose>Print the status of working copy files and directories.</refpurpose>
@@ -3366,7 +3366,7 @@
 
           <para>The fifth column is populated only if the item is
             switched relative to its parent (see <xref
-            linkend="svn-ch-4-sect-5"/>).</para>
+            linkend="svn.branchmerge.switchwc"/>).</para>
 
           <variablelist>
             
@@ -3507,13 +3507,13 @@
 </screen>
 
           <para>For many more examples of <command>svn status</command>,
-            see <xref linkend="svn-ch-3-sect-5.3.1"/>.</para>
+            see <xref linkend="svn.tour.cycle.examine.status"/>.</para>
 
         </refsect1>
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-switch">
+      <refentry id="svn.ref.svn.c.switch">
         <refnamediv>
           <refname>svn switch</refname>
           <refpurpose>Update working copy to a different URL.</refpurpose>
@@ -3534,7 +3534,7 @@
             ancestor with your working copy, although not
             necessarily.  This is the Subversion way to move a
             working copy to a new branch.  See <xref
-            linkend="svn-ch-4-sect-5"/> for an in-depth look at
+            linkend="svn.branchmerge.switchwc"/> for an in-depth look at
             switching.</para>
         </refsect1>
 
@@ -3667,7 +3667,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-1.2-re-update">
+      <refentry id="svn.ref.svn.c.update">
         <refnamediv>
           <refname>svn update</refname>
           <refpurpose>Update your working copy.</refpurpose>
@@ -3783,7 +3783,7 @@
           <para>You can also update your working copy to an older
             revision (Subversion doesn't have the concept of
             <quote>sticky</quote> files like CVS does; see <xref
-            linkend="svn-ap-a"/>):</para>
+            linkend="svn.forcvs"/>):</para>
 
           <screen>
 $ svn update -r30
@@ -3810,19 +3810,19 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-9-sect-2">
+  <sect1 id="svn.ref.svnadmin">
     <title><command>svnadmin</command></title>
     
     <para><command>svnadmin</command> is the administrative tool for
       monitoring and repairing your Subversion repository.  For
       detailed information, see <xref
-      linkend="svn-ch-5-sect-3.1.2"/>.</para>
+      linkend="svn.reposadmin.maint.tk.svnadmin"/>.</para>
 
     <para>Since <command>svnadmin</command> works via direct repository access
       (and thus can only be used on the machine that holds the
       repository), it refers to the repository with a path, not a URL.</para>
       
-    <sect2 id="svn-ch-9-sect-2.1">
+    <sect2 id="svn.ref.svnadmin.sw">
       <title><command>svnadmin</command> Switches</title> 
       
       <variablelist>
@@ -3920,11 +3920,11 @@
     </sect2>
 
     <!-- ================================================================= -->
-    <sect2 id="svn-ch-9-sect-2.2">
+    <sect2 id="svn.ref.svnadmin.c">
       <title><command>svnadmin</command> Subcommands</title>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-create">
+      <refentry id="svn.ref.svnadmin.c.create">
         <refnamediv>
           <refname>svnadmin create</refname>
           <refpurpose>Create a new, empty repository.</refpurpose>
@@ -3978,7 +3978,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-deltify">
+      <refentry id="svn.ref.svnadmin.c.deltify">
         <refnamediv>
           <refname>svnadmin deltify</refname>
           <refpurpose>Deltify changed paths in a revision range.</refpurpose>
@@ -4012,7 +4012,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-dump">
+      <refentry id="svn.ref.svnadmin.c.dump">
         <refnamediv>
           <refname>svnadmin dump</refname>
           <refpurpose>Dump the contents of filesystem to stdout.</refpurpose>
@@ -4031,7 +4031,7 @@
             <replaceable>UPPER</replaceable> rev.  If no revisions are
             given, dump all revision trees.  If only
             <replaceable>LOWER</replaceable> is given, dump that one
-            revision tree.  See <xref linkend="svn-ch-5-sect-3.5"/>
+            revision tree.  See <xref linkend="svn.reposadmin.maint.migrate"/>
             for a practical use.</para>
 
           <para>If the size of your Subversion dumpfile is a concern,
@@ -4091,7 +4091,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-help">
+      <refentry id="svn.ref.svnadmin.c.help">
         <refnamediv>
           <refname>svnadmin help</refname>
         </refnamediv>
@@ -4117,7 +4117,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-hotcopy">
+      <refentry id="svn.ref.svnadmin.c.hotcopy">
         <refnamediv>
           <refname>svnadmin hotcopy</refname>
           <refpurpose>Make a hot copy of a repository.</refpurpose>
@@ -4153,7 +4153,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-list-dblogs">
+      <refentry id="svn.ref.svnadmin.c.list-dblogs">
         <refnamediv>
           <refname>svnadmin list-dblogs</refname> <refpurpose>Ask
           Berkeley DB which log files exist for a given Subversion
@@ -4173,14 +4173,14 @@
             <literal>DB_LOGS_AUTOREMOVE</literal>, the log files
             accumulate, although most are no longer used and can be
             deleted to reclaim disk space. See <xref
-            linkend="svn-ch-5-sect-3.3"/> for more
+            linkend="svn.reposadmin.maint.diskspace"/> for more
             information.</para>
         </refsect1>
 
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-list-unused-dblogs">
+      <refentry id="svn.ref.svnadmin.c.list-unused-dblogs">
         <refnamediv>
           <refname>svnadmin list-unused-dblogs</refname>
           <refpurpose>Ask Berkeley DB which log files can be safely
@@ -4200,7 +4200,7 @@
             <literal>DB_LOGS_AUTOREMOVE</literal>, the log files
             accumulate, although most are no longer used and can be
             deleted to reclaim disk space. See <xref
-            linkend="svn-ch-5-sect-3.3"/> for more
+            linkend="svn.reposadmin.maint.diskspace"/> for more
             information.</para>
         </refsect1>
 
@@ -4223,7 +4223,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-load">
+      <refentry id="svn.ref.svnadmin.c.load">
         <refnamediv>
           <refname>svnadmin load</refname> <refpurpose>Read a
             <quote>dumpfile</quote>-formatted stream from
@@ -4281,7 +4281,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-lstxns">
+      <refentry id="svn.ref.svnadmin.c.lstxns">
         <refnamediv>
           <refname>svnadmin lstxns</refname>
           <refpurpose>Print the names of all uncommitted transactions.</refpurpose>
@@ -4294,7 +4294,7 @@
           <title>Description</title>
 
           <para>Print the names of all uncommitted transactions.  See
-            <xref linkend="svn-ch-5-sect-3.2"/> for information on how
+            <xref linkend="svn.reposadmin.maint.cleanup"/> for information on how
             uncommitted transactions are created and what you should
             do with them.</para>
         </refsect1>
@@ -4315,7 +4315,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-recover">
+      <refentry id="svn.ref.svnadmin.c.recover">
         <refnamediv>
           <refname>svnadmin recover</refname>
           <refpurpose>Bring a repository database back into a
@@ -4386,7 +4386,7 @@
 
       <!-- ================================================================= -->
 
-      <refentry id="svn-ch-9-sect-2.2-re-rmtxns">
+      <refentry id="svn.ref.svnadmin.c.rmtxns">
         <refnamediv>
           <refname>svnadmin rmtxns</refname>
           <refpurpose>Delete transactions from a repository.</refpurpose>
@@ -4400,7 +4400,7 @@
 
           <para>Delete outstanding transactions from a repository.
             This is covered in detail in <xref
-            linkend="svn-ch-5-sect-3.2"/>.</para>
+            linkend="svn.reposadmin.maint.cleanup"/>.</para>
         </refsect1>
 
         <refsect1>
@@ -4435,7 +4435,7 @@
 
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-setlog">
+      <refentry id="svn.ref.svnadmin.c.setlog">
         <refnamediv>
           <refname>svnadmin setlog</refname>
           <refpurpose>Set the log-message on a revision.</refpurpose>
@@ -4489,7 +4489,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-2.2-re-verify">
+      <refentry id="svn.ref.svnadmin.c.verify">
         <refnamediv>
           <refname>svnadmin verify</refname>
           <refpurpose>Verify the data stored in the repository.</refpurpose>
@@ -4527,7 +4527,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-9-sect-3">
+  <sect1 id="svn.ref.svnlook">
     <title><command>svnlook</command></title>
     
     <para><command>svnlook</command> is a command-line utility for
@@ -4546,7 +4546,7 @@
       <command>svnlook</command> defaults to the youngest (most
       recent) revision of the repository.</para>
     
-    <sect2 id="svn-ch-9-sect-3.1">
+    <sect2 id="svn.ref.svnlook.sw">
       <title><command>svnlook</command> Switches</title>
       
       <para>Switches in <command>svnlook</command> are global, just
@@ -4600,10 +4600,10 @@
     </sect2>
 
     <!-- ================================================================= -->
-    <sect2 id="svn-ch-9-sect-3.2">
+    <sect2 id="svn.ref.svnlook.c">
       <title><command>svnlook</command></title>
 
-      <refentry id="svn-ch-9-sect-3.2-re-author">
+      <refentry id="svn.ref.svnlook.c.author">
         <refnamediv>
           <refname>svnlook author</refname>
           <refpurpose>Print the author.</refpurpose>
@@ -4643,7 +4643,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-cat">
+      <refentry id="svn.ref.svnlook.c.cat">
         <refnamediv>
           <refname>svnlook cat</refname>
           <refpurpose>Print the contents of a file.</refpurpose>
@@ -4695,7 +4695,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-changed">
+      <refentry id="svn.ref.svnlook.c.changed">
         <refnamediv>
           <refname>svnlook changed</refname>
           <refpurpose>Print the paths that were changed.</refpurpose>
@@ -4743,7 +4743,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-date">
+      <refentry id="svn.ref.svnlook.c.date">
         <refnamediv>
           <refname>svnlook date</refname>
           <refpurpose>Print the datestamp.</refpurpose>
@@ -4783,7 +4783,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-diff">
+      <refentry id="svn.ref.svnlook.c.diff">
         <refnamediv>
           <refname>svnlook diff</refname>
           <refpurpose>Print differences of changed files and properties.</refpurpose>
@@ -4847,7 +4847,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-dirs-changed">
+      <refentry id="svn.ref.svnlook.c.dirs-changed">
         <refnamediv>
           <refname>svnlook dirs-changed</refname>
           <refpurpose>Print the directories that were themselves changed.</refpurpose>
@@ -4888,7 +4888,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-help">
+      <refentry id="svn.ref.svnlook.c.help">
         <refnamediv>
           <refname>svnlook help</refname>
         </refnamediv>
@@ -4913,7 +4913,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-history">
+      <refentry id="svn.ref.svnlook.c.history">
         <refnamediv>
           <refname>svnlook history</refname>
           <refpurpose>Print information about the history of a path in
@@ -4973,7 +4973,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-info">
+      <refentry id="svn.ref.svnlook.c.info">
         <refnamediv>
           <refname>svnlook info</refname>
           <refpurpose>Print the author, datestamp, log message size,
@@ -5017,7 +5017,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-log">
+      <refentry id="svn.ref.svnlook.c.log">
         <refnamediv>
           <refname>svnlook log</refname>
           <refpurpose>Print the log message.</refpurpose>
@@ -5056,7 +5056,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-propget">
+      <refentry id="svn.ref.svnlook.c.propget">
         <refnamediv>
           <refname>svnlook propget</refname>
           <refpurpose>Print the raw value of a property on a path in
@@ -5104,7 +5104,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-proplist">
+      <refentry id="svn.ref.svnlook.c.proplist">
         <refnamediv>
           <refname>svnlook proplist</refname>
           <refpurpose>Print the names and values of versioned file and
@@ -5163,7 +5163,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-tree">
+      <refentry id="svn.ref.svnlook.c.tree">
         <refnamediv>
           <refname>svnlook tree</refname>
           <refpurpose>Print the tree.</refpurpose>
@@ -5211,7 +5211,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-uuid">
+      <refentry id="svn.ref.svnlook.c.uuid">
         <refnamediv>
           <refname>svnlook uuid</refname>
           <refpurpose>Print the repository's
@@ -5244,7 +5244,7 @@
       </refentry>
 
       <!-- ================================================================= -->
-      <refentry id="svn-ch-9-sect-3.2-re-youngest">
+      <refentry id="svn.ref.svnlook.c.youngest">
         <refnamediv>
           <refname>svnlook youngest</refname>
           <refpurpose>Print the youngest revision number.</refpurpose>
@@ -5279,7 +5279,7 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 4 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-9-sect-4">
+  <sect1 id="svn.ref.svnserve">
 
     <title><command>svnserve</command></title>
     
@@ -5295,10 +5295,10 @@
       <filename>conf/svnserve.conf</filename> in the repository
       directory to determine repository-specific settings such as what
       authentication database to use and what authorization policies
-      to apply.  See <xref linkend="svn-ch-6-sect-3"/> for details of
+      to apply.  See <xref linkend="svn.serverconfig.svnserve"/> for details of
       the <filename>svnserve.conf</filename> file.</para>
     
-    <sect2 id="svn-ch-9-sect-4.1">
+    <sect2 id="svn.ref.svnserve.sw">
       <title><command>svnserve</command> Switches</title>
       
       <para>Unlike the previous commands we've
@@ -5436,23 +5436,23 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 5 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-9-sect-5">
+  <sect1 id="svn.ref.svnversion">
 
     <title><command>svnversion</command></title>
     
-    <refentry id="svn-ch-9-sect-5.1">
+    <refentry id="svn.ref.svnversion.re">
       <refnamediv>
         <refname>svnversion</refname>
         <refpurpose>Summarize the local revision(s) of a working
                     copy.</refpurpose>
       </refnamediv>
 
-      <refsect1 id="svn-ch-9-sect-5.1.1">
+      <refsect1 id="svn.ref.svnversion.re.syn">
         <title>Synopsis</title>
         <programlisting>svnversion [OPTIONS] WC_PATH [TRAIL_URL]</programlisting>
       </refsect1>
 
-      <refsect1 id="svn-ch-9-sect-5.1.2">
+      <refsect1 id="svn.ref.svnversion.re.desc">
         <title>Description</title>
 
         <para><command>svnversion</command> is a program for
@@ -5467,7 +5467,7 @@
 
       </refsect1>
 
-      <refsect1 id="svn-ch-9-sect-5.1.3">
+      <refsect1 id="svn.ref.svnversion.re.sw">
         <title>Switches</title>
 
         <para>Like <command>svnserve</command>,
@@ -5509,7 +5509,7 @@
         </variablelist>
       </refsect1>
 
-      <refsect1 id="svn-ch-9-sect-5.1.4">
+      <refsect1 id="svn.ref.svnversion.re.examples">
         <title>Examples</title>
 
         <para>If the working copy is all at the same revision (for
@@ -5564,11 +5564,11 @@
   <!-- ================================================================= -->
   <!-- ======================== SECTION 6 ============================== -->
   <!-- ================================================================= -->
-  <sect1 id="svn-ch-9-sect-6">
+  <sect1 id="svn.ref.mod_dav_svn">
 
     <title><command>mod_dav_svn</command></title>
     
-    <refentry id="svn-ch-9-sect-6.1">
+    <refentry id="svn.ref.mod_dav_svn.conf">
       <refnamediv>
 
         <refname><literal>mod_dav_svn</literal> Configuration
@@ -5578,17 +5578,17 @@
 
       </refnamediv>
 
-      <refsect1 id="svn-ch-9-sect-6.1.1">
+      <refsect1 id="svn.ref.mod_dav_svn.conf.desc">
         <title>Description</title>
 
         <para>This section briefly describes each of the Subversion
           Apache configuration directives.  For an in-depth
           description of configuring Apache with Subversion, see <xref
-          linkend="svn-ch-6-sect-4"/>.)</para>
+          linkend="svn.serverconfig.httpd"/>.)</para>
 
       </refsect1>
 
-      <refsect1 id="svn-ch-9-sect-6.1.2">
+      <refsect1 id="svn.ref.mod_dav_svn.conf.directives">
         <title>Directives</title>
 
         <variablelist>
@@ -5682,7 +5682,7 @@
 
               <para>Control path-based authorization by enabling or
                 disabling subrequests.  See <xref
-                linkend="svn-ch-6-sect-4.4.3"/> for details.</para>
+                linkend="svn.serverconfig.httpd.authz.pathauthzoff"/> for details.</para>
 
             </listitem>
           </varlistentry>

Modified: trunk/src/ru/book/copyright.xml
==============================================================================
--- trunk/src/ru/book/copyright.xml	(original)
+++ trunk/src/ru/book/copyright.xml	Sun May 29 04:30:18 2005
@@ -1,10 +1,10 @@
-<appendix id="svn-copyright">
+<appendix id="svn.copyright">
   <title>Copyright</title>
 
   <simplesect>
     <programlisting>
 
-Copyright (c) 2002-2004 
+Copyright (c) 2002-2005
 Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato.  
 
 This work is licensed under the Creative Commons Attribution License.

Modified: trunk/src/ru/book/foreword.xml
==============================================================================
--- trunk/src/ru/book/foreword.xml	(original)
+++ trunk/src/ru/book/foreword.xml	Sun May 29 04:30:18 2005
@@ -3,21 +3,38 @@
 the best solution for now, even though there's also a real preface in
 ch00.xml. -->
 
-<preface id="svn-foreword">
+<preface id="svn.foreword">
+  <!-- @ENGLISH {{{
   <title>Foreword</title>
+  @ ENGLISH }}} -->
+  <title>Предисловие</title>
 
   <simplesect>
 
+    <!-- @ENGLISH {{{
     <para>A bad Frequently Asked Questions (FAQ) sheet is one that is
       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>Плохой список часто задаваемых вопросов (ЧаВо) это такой который
+      составлен не из вопросов которые действительно задавались, а из
+      вопросов которые автор ЧаВо <emphasis>хотел бы</emphasis> чтобы
+      задавали. Возможно, вы встречали нечто подобное:
+    </para>
 
+    <!-- @ENGLISH {{{
     <blockquote>
       <para>Q: How can I use Glorbosoft XYZ to maximize team
         productivity?</para>
     </blockquote>
+    @ ENGLISH }}} -->
+    <blockquote>
+      <para>ВОПРОС: Как при помощи Glorbosoft XYZ я могу увеличить
+        коллективную продуктивность?</para>
+    </blockquote>
 
+    <!-- @ENGLISH {{{
     <blockquote>
       <para>A: Many of our customers want to know how they can
         maximize productivity through our patented office groupware
@@ -26,7 +43,17 @@
         <quote><literal>Increase Productivity</literal></quote>,
         then…</para>
     </blockquote>
+    @ ENGLISH }}} -->
+    <blockquote>
+      <para>ОТВЕТ: Многие наши клиенты хотят знать как при помощи наших
+        патентованных офисных groupware-инноваций увеличить продуктивность.
+        Ответ простой: сначала кликните меню <quote><literal>Файл</literal>
+        </quote>, перейдите к <quote><literal>Увеличить продуктивность
+        </literal></quote>
+      </para>
+    </blockquote>
 
+    <!-- @ENGLISH {{{
     <para>The problem with such FAQs is that they are not, in a
       literal sense, FAQs at all.  No one ever called the tech support
       line and asked, <quote>How can we maximize
@@ -43,7 +70,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>Проблема подобных ЧаВо в том, что они, в буквальном смысле,
+      совсем не ЧаВо. Нет когда-либо набиравших линию технической поддержки и
+      спрашивавших <quote>Как нам увеличить продуктивность?</quote>. Скорее
+      задавали узко специализированные вопросы, такие как, <quote>Как нам
+      настроить календарную систему для отправки напоминаний за два дня раньше
+      вместо одного?</quote> и подобные. Но намного проще вместо реального,
+      составить мнимый список часто задаваемых вопросов. Составление настоящего
+      ЧаВо требует монотонности, организационных усилий: во время жизненного
+      цикла ПО приходящие вопросы должны отслеживаться, ответы контролироваться
+      и все это объединяться в логически связанное удобное для поиска единое
+      целое которое наилучшим образом отражает пользовательский опыт. Здесь
+      требуется терпеливость естествоиспытателя. Ни каких гипотез, ни каких
+      воображаемых утверждений, здесь - открытые глаза и внимательность, вот,
+      что больше всего необходимо.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>What I love about this book is that it grew out of just such
       a process, and shows it on every page.  It is the direct result
       of the authors' encounters with users.  It began with Ben
@@ -52,7 +96,18 @@
       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>Что мне нравится в этой книге так это то, что она именно так и
+      сделана и видно это на каждой странице. Она является прямым результатом
+      общения авторов с пользователями. Книга началась с того, что Бен
+      Коллинз-Сьюзмен [Ben Collins-Sussman] заметил как в списках рассылки
+      Subversion пользователи задают снова и снова одни и те-же вопросы:
+      Какая стандартная последовательность действий при работе с Subversion?,
+      Ветвления и теги работают таким же образом, как и в других системах
+      контроля версий?, Как мне узнать кто сделал конкретное изменение?
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>Frustrated at seeing the same questions day after day, Ben
       worked intensely over a month in the summer of 2002 to write
       <citetitle>The Subversion Handbook</citetitle>, a sixty page
@@ -63,7 +118,20 @@
       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>, шестидесяти
+      страничный документ, который покрывал все основы использования
+      Subversion. Руководство не претендовало на полноту описания,
+      но оно распространялось вместе с Subversion и разгоняло в кривой
+      обучения пользователей начальную тоску. Когда издательство O'Reilly
+      and Associates решило выпустить полноценную книгу о Subversion
+      путь наименьшего сопротивления была очевиден: просто дополнить
+      Руководство к Subversion.
+    </para>
 
+    <!-- @ENGLISH {{{
     <para>The three co-authors of the new book were thus presented
       with an unusual opportunity.  Officially, their task was to
       write a book top-down, starting from a table of contents and an
@@ -73,7 +141,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, но и о существующей
+      документации.</para>
 
+    <!-- @ENGLISH {{{
     <para>During the entire time they wrote this book, Ben, Mike, and
       Brian haunted the Subversion mailing lists and chat rooms
       incessantly, carefully noting the problems users were having in
@@ -94,7 +171,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>В течении всего времени написания книги Бен, Майк и Брайан
+      постоянно отслеживали списки рассылки и чат комнаты, тщательно
+      фиксируя проблемы, с которыми пользователи сталкиваются в реальных
+      жизненных ситуациях. В любом случае, мониторинг таких отзывов - это
+      часть их должностных обязанностей в CollabNet и это оказывало им
+      огромную помощь в процессе документирования Subversion. В основу
+      написанной ими книги положен опыт, а не зыбучие пески принятия желаемого
+      за действительное; она объединяет лучшие аспекты руководства
+      пользователя и списка ЧаВо. Эту двойственность можно не заметить при
+      первом прочтении. Просмотрев ее последовательно, от начала к концу,
+      книга представляет собой последовательно описание некого ПО. Здесь есть
+      введение, обязательный вводный курс, глава по администрированию,
+      несколько вопросов для опытных пользователей и, конечно же, справочной
+      руководство и способы решения проблем. Только потом, когда вы вернетесь
+      к ней в поисках решения какой-нибудь, специфической проблемы вы сможете
+      полностью оценить ее преимущества: обсуждаются подробности при
+      столкновении с неожиданными ситуациями, примеры заточены под реальное
+      использование и самое главное, внимательность к нуждам пользователей
+      и с пользовательской точки зрения.</para>
 
+    <!-- @ENGLISH {{{
     <para>Of course, no one can promise that this book will answer
       every question you have about Subversion.  Sometimes, the
       precision with which it anticipates your questions will seem
@@ -113,8 +211,28 @@
       because you can help them.  With Subversion as with all active
       free software projects, <emphasis>you are not
       alone</emphasis>.</para>
+    @ ENGLISH }}} -->
+    <para>Конечно, ни кто не может обещать, что эта книга ответит на
+      все ваши вопросы о Subversion. Иногда точность, с которой
+      пред угадываются ваши вопросы, может показаться телепатией, однако,
+      когда-нибудь по роковому стечению обстоятельств вы наткнетесь на
+      пробел в знаниях сообщества и уйдете с пустыми руками. Когда это
+      случится лучшее что, вы можете предпринять – это отправить
+      email на адрес <email>users at subversion.tigris.org</email> с описанием
+      вашей проблемы. Авторы все еще участвуют в этом списке рассылки, и их
+      количество ограничивается не тремя перечислеными на обложке, а и многими
+      другими кто вносил исправления и оригинальный материал. С точки зрения
+      сообщества решение вашей проблемы это просто положительный побочный эффект
+      намного большего проекта, а именно - постепенное формирование данной
+      книги, а в конечном счете, и самой Subversion, при помощи более близкого
+      знакомства с приемами, используемыми пользователями при работе. В
+      Subversion, как и во всех активных свободных программных проектах,
+      <emphasis>вы не одиноки</emphasis>.</para>
 
+    <!-- @ENGLISH {{{
     <para>Let this book be your first companion.</para>
+    @ ENGLISH }}} -->
+    <para>Пусть эта книга будет вашим верным помощником.</para>
 
     <para>—
       <author>
@@ -127,7 +245,7 @@
 </preface>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "foreword")
 end:
--->
+-->
\ No newline at end of file

Modified: trunk/src/ru/book/images/ch01dia1.png
==============================================================================
Binary files trunk/src/ru/book/images/ch01dia1.png	(original) and trunk/src/ru/book/images/ch01dia1.png	Sun May 29 04:30:18 2005 differ

Modified: trunk/src/ru/book/images/ch02dia1.png
==============================================================================
Binary files. No diff available.



More information about the svnbook-dev mailing list