[svnbook commit] r1529 - in trunk/src/ru: . book
dmitriy
svnbook-dev at red-bean.com
Fri Jul 8 14:46:37 CDT 2005
Author: dmitriy
Date: Fri Jul 8 14:46:36 2005
New Revision: 1529
Modified:
trunk/src/ru/LAST_UPDATED
trunk/src/ru/book/appa.xml
trunk/src/ru/book/appb.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
Log:
Synchronised with en/
Modified: trunk/src/ru/LAST_UPDATED
==============================================================================
--- trunk/src/ru/LAST_UPDATED (original)
+++ trunk/src/ru/LAST_UPDATED Fri Jul 8 14:46:36 2005
@@ -1 +1 @@
-1493
\ No newline at end of file
+1528
\ No newline at end of file
Modified: trunk/src/ru/book/appa.xml
==============================================================================
--- trunk/src/ru/book/appa.xml (original)
+++ trunk/src/ru/book/appa.xml Fri Jul 8 14:46:36 2005
@@ -25,7 +25,7 @@
</simplesect>
<!-- ================================================================= -->
- <!-- ======================== SECTION 1 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.revnums">
<title>Revision Numbers Are Different Now</title>
@@ -59,7 +59,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 2 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.directories">
<title>Directory Versions</title>
@@ -133,7 +133,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 3 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.disconnected">
<title>More Disconnected Operations</title>
@@ -192,7 +192,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 4 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.status-vs-update">
<title>Distinction Between Status and Update</title>
@@ -322,7 +322,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 5 ============================= -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.branches-and-tags">
<title>Branches and Tags</title>
@@ -353,7 +353,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 6 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.properties">
<title>Metadata Properties</title>
@@ -374,7 +374,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 7 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.conflicts">
<title>Conflict Resolution</title>
@@ -396,7 +396,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 8 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.binary-and-trans">
<title>Binary Files and Translation</title>
@@ -448,7 +448,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 9 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.modules">
@@ -466,7 +466,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 10 ============================= -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.auth">
@@ -499,7 +499,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 11 ============================= -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.forcvs.convert">
Modified: trunk/src/ru/book/appb.xml
==============================================================================
--- trunk/src/ru/book/appb.xml (original)
+++ trunk/src/ru/book/appb.xml Fri Jul 8 14:46:36 2005
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<appendix id="svn.webdav">
-<!-- @ENGLISH {{{
-<title>WebDAV and Autoversioning</title>
-@ ENGLISH }}} -->
-<title>WebDAV и автоматическое управление версиями</title>
-<!-- See also svn.preface.organization -->
+ <!-- @ENGLISH {{{
+ <title>WebDAV and Autoversioning</title>
+ @ ENGLISH }}} -->
+ <title>WebDAV и автоматическое управление версиями</title>
+ <!-- See also svn.preface.organization -->
<simplesect>
@@ -22,6 +22,9 @@
</simplesect>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.webdav.basic">
<title>Basic WebDAV Concepts</title>
@@ -30,6 +33,7 @@
understanding WebDAV compatibility issues between clients and
servers.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.webdav.basic.original">
<title>Original WebDAV</title>
@@ -42,9 +46,9 @@
<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>
+ 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.</para>
<para>Here are the concepts and terms introduced in basic
WebDAV:</para>
@@ -135,6 +139,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.webdav.basic.deltav">
<title>DeltaV Extensions</title>
@@ -232,6 +237,9 @@
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.webdav.svn-and-deltav">
<title>Subversion and DeltaV</title>
@@ -298,11 +306,14 @@
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
+ motivation to do so—here are almost no DeltaV clients to
interoperate with.</para>
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.webdav.autoversioning">
<title>Autoversioning </title>
@@ -380,6 +391,9 @@
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.webdav.clients">
<title>Client Interoperability</title>
@@ -545,6 +559,7 @@
</tgroup>
</table>
+ <!-- =============================================================== -->
<sect2 id="svn.webdav.clients.windows">
<title>Windows Webfolders, WebDrive, Netdrive</title>
@@ -640,15 +655,17 @@
</sect2>
+ <!-- =============================================================== -->
<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
+ <guimenuitem>Connect to Server</guimenuitem> item from the
+ <guimenu>Go menu</guimenu>. 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,
@@ -670,6 +687,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.webdav.clients.linux-de">
<title>Nautilus, Konqueror</title>
@@ -680,10 +698,10 @@
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 GNOME's Nautilus, from the <guimenu>File
+ menu</guimenu>, select <guimenuitem>Open
+ location</guimenuitem> 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
@@ -698,6 +716,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.webdav.clients.linux-fs">
<title>Linux davfs2</title>
@@ -713,15 +732,15 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.webdav.clients.free-apps">
<title>Cadaver, DAV Explorer</title>
<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
+ 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
@@ -732,20 +751,20 @@
<screen>
$ cadaver http://host/repos
-dav:/repos/> ls
+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
+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
+dav:/repos/> put README
Uploading README to `/repos/README':
-Progress: [=============================>] 100.0% of 357 bytes succeeded.
+Progress: [=============================>] 100.0% of 357 bytes succeeded.
-dav:/repos/> get proofbypoem.txt
+dav:/repos/> get proofbypoem.txt
Downloading `/repos/proofbypoem.txt' to proofbypoem.txt:
-Progress: [=============================>] 100.0% of 1461 bytes succeeded.
+Progress: [=============================>] 100.0% of 1461 bytes succeeded.
</screen>
<para>DAV Explorer is another standalone WebDAV client, written
@@ -766,6 +785,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.webdav.clients.win-apps">
<title>Microsoft Office, Dreamweaver, Photoshop</title>
@@ -776,7 +796,7 @@
<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
+ <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
Modified: trunk/src/ru/book/ch00.xml
==============================================================================
--- trunk/src/ru/book/ch00.xml (original)
+++ trunk/src/ru/book/ch00.xml Fri Jul 8 14:46:36 2005
@@ -94,7 +94,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 1 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.preface.audience">
@@ -180,7 +180,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 2 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.preface.howread">
<!-- @ENGLISH {{{
@@ -326,7 +326,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 3 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.preface.conventions">
<!-- @ENGLISH {{{
@@ -340,7 +340,7 @@
@ENGLISH }}} -->
<para>В этом разделе приводятся соглашения, принятые в книге.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.preface.conventions.typo">
<!-- @ENGLISH {{{
<title>Typographic Conventions</title>
@@ -400,7 +400,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.preface.conventions.icons">
<!-- @ENGLISH {{{
<title>Icons</title>
@@ -455,7 +455,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 4 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.preface.organization">
<!-- @ENGLISH {{{
@@ -780,7 +780,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 5 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.preface.free">
<!-- @ENGLISH {{{
@@ -854,7 +854,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 6 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.preface.acks">
<!-- @ENGLISH {{{
@@ -898,7 +898,7 @@
Wadsworth, Colin Watson, Alex Waugh, Chad Whitacre, Josef Wolf,
Blair Zajac, and the entire Subversion community.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.preface.acks.sussman">
<title>From Ben Collins-Sussman</title>
@@ -919,7 +919,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.preface.acks.fitz">
<title>From Brian W. Fitzpatrick</title>
@@ -945,7 +945,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.preface.acks.cmpilato">
<title>From C. Michael Pilato</title>
Modified: trunk/src/ru/book/ch01.xml
==============================================================================
--- trunk/src/ru/book/ch01.xml (original)
+++ trunk/src/ru/book/ch01.xml Fri Jul 8 14:46:36 2005
@@ -46,7 +46,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 1 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.intro.whatis">
@@ -129,7 +129,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 2 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.intro.history">
@@ -286,7 +286,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 3 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.intro.features">
@@ -547,7 +547,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 4 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.intro.architecture">
@@ -599,7 +599,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 5 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.intro.install">
@@ -680,7 +680,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 6 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.intro.components">
@@ -802,7 +802,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 7 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.intro.quickstart">
Modified: trunk/src/ru/book/ch02.xml
==============================================================================
--- trunk/src/ru/book/ch02.xml (original)
+++ trunk/src/ru/book/ch02.xml Fri Jul 8 14:46:36 2005
@@ -39,6 +39,12 @@
</simplesect>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.basic.repository">
<!-- @ENGLISH {{{
<title>The Repository</title>
@@ -121,6 +127,9 @@
</para>
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.basic.vsn-models">
<!-- @ENGLISH {{{
<title>Versioning Models</title>
@@ -137,6 +146,8 @@
Однако разные системы используют разные способы для
достижения этого.</para>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.basic.vsn-models.problem-sharing">
<!-- @ENGLISH {{{
<title>The Problem of File-Sharing</title>
@@ -197,6 +208,8 @@
</sect2>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.basic.vsn-models.lock-unlock">
<!-- @ENGLISH {{{
<title>The Lock-Modify-Unlock Solution</title>
@@ -335,6 +348,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.basic.vsn-models.copy-merge">
<!-- @ENGLISH {{{
<title>The Copy-Modify-Merge Solution</title>
@@ -540,6 +554,9 @@
</sect1>
<!-- How svn implements the philosophy -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.basic.in-action">
<!-- @ENGLISH {{{
<title>Subversion in Action</title>
@@ -554,6 +571,7 @@
<para>Время перейти от абстракций к конкретике. В этом разделе мы покажем
реальные примеры использования Subversion.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.basic.in-action.wc">
<!-- @ENGLISH {{{
<title>Working Copies</title>
@@ -901,6 +919,8 @@
</sect2>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.basic.in-action.revs">
<!-- @ENGLISH {{{
<title>Revisions</title>
@@ -1092,6 +1112,8 @@
</sect2>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.basic.in-action.track-repos">
<!-- @ENGLISH {{{
<title>How Working Copies Track the Repository</title>
@@ -1257,6 +1279,8 @@
</sect2>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.basic.in-action.mixedrevs">
<!-- @ENGLISH {{{
<title>The Limitations of Mixed Revisions</title>
@@ -1353,6 +1377,9 @@
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.basic.summary">
<!-- @ENGLISH {{{
<title>Summary</title>
Modified: trunk/src/ru/book/ch03.xml
==============================================================================
--- trunk/src/ru/book/ch03.xml (original)
+++ trunk/src/ru/book/ch03.xml Fri Jul 8 14:46:36 2005
@@ -48,7 +48,7 @@
</simplesect>
<!-- ================================================================= -->
- <!-- ======================== SECTION 1 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.help">
<!-- @ENGLISH {{{
@@ -74,7 +74,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 2 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.import">
<!-- @ENGLISH {{{
@@ -99,7 +99,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 3 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.revs">
<!-- @ENGLISH {{{
@@ -138,6 +138,8 @@
позволяет обращаться к правкам по номеру, ключевому слову или
дате.</para>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.tour.revs.numbers">
<!-- @ENGLISH {{{
<title>Revision Numbers</title>
@@ -176,6 +178,8 @@
</sect2>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.tour.revs.keywords">
<!-- @ENGLISH {{{
<title>Revision Keywords</title>
@@ -353,6 +357,8 @@
</sect2>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.tour.revs.dates">
<!-- @ENGLISH {{{
<title>Revision Dates</title>
@@ -500,7 +506,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 4 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.initial">
<!-- @ENGLISH {{{
@@ -686,7 +692,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 5 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.cycle">
<!-- @ENGLISH {{{
@@ -792,6 +798,7 @@
</listitem>
</itemizedlist>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.cycle.update">
<!-- @ENGLISH {{{
<title>Update Your Working Copy</title>
@@ -952,6 +959,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.cycle.edit">
<!-- @ENGLISH {{{
<title>Make Changes to Your Working Copy</title>
@@ -1245,6 +1253,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.cycle.examine">
<!-- @ENGLISH {{{
<title>Examine Your Changes</title>
@@ -2137,6 +2146,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.cycle.resolve">
<!-- @ENGLISH {{{
<title>Resolve Conflicts (Merging Others' Changes)</title>
@@ -2658,6 +2668,8 @@
</sect2>
+ <!-- =============================================================== -->
+ <!-- =============================================================== -->
<sect2 id="svn.tour.cycle.commit">
<!-- @ENGLISH {{{
<title>Commit Your Changes</title>
@@ -2803,7 +2815,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 6 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.history">
<!-- @ENGLISH {{{
@@ -2897,6 +2909,7 @@
</variablelist>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.history.log">
<title><command>svn log</command></title>
@@ -3060,6 +3073,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.history.diff">
<title><command>svn diff</command></title>
@@ -3234,6 +3248,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.history.cat">
<title><command>svn cat</command></title>
@@ -3304,6 +3319,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.history.list">
<title><command>svn list</command></title>
@@ -3355,6 +3371,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.history.finalword">
<!-- @ENGLISH {{{
<title>A Final Word on History</title>
@@ -3388,7 +3405,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 7 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.other">
<!-- @ENGLISH {{{
@@ -3404,6 +3421,7 @@
которые рассматривались ранее в этой главе, иногда эти команды вам
все таки понадобятся.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.other.cleanup">
<title><command>svn cleanup</command></title>
@@ -3463,6 +3481,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.tour.other.import">
<title><command>svn import</command></title>
@@ -3520,7 +3539,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 8 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.tour.summary">
<!-- @ENGLISH {{{
Modified: trunk/src/ru/book/ch04.xml
==============================================================================
--- trunk/src/ru/book/ch04.xml (original)
+++ trunk/src/ru/book/ch04.xml Fri Jul 8 14:46:36 2005
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="svn.branchmerge">
-
-<!-- @ENGLISH {{{
-<title>Branching and Merging</title>
-@ ENGLISH }}} -->
-<title>Ветвление и слияние</title>
-<!-- See also svn.preface.organization -->
+ <!-- @ENGLISH {{{
+ <title>Branching and Merging</title>
+ @ ENGLISH }}} -->
+ <title>Ветвление и слияние</title>
+ <!-- See also svn.preface.organization -->
<simplesect>
@@ -37,7 +36,7 @@
</simplesect>
<!-- ================================================================= -->
- <!-- ======================== SECTION 1 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.whatis">
<!-- @ENGLISH {{{
@@ -102,7 +101,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 2 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.using">
<title>Using Branches</title>
@@ -176,6 +175,7 @@
collaborators. You'll see exactly how this works later
on.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.using.create">
<title>Creating a Branch</title>
@@ -312,6 +312,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.using.work">
<title>Working with Your Branch</title>
@@ -456,6 +457,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.using.concepts">
<title>The Key Concepts Behind Branches</title>
@@ -487,7 +489,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 3 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.copychanges">
<title>Copying Changes Between Branches</title>
@@ -519,7 +521,7 @@
completely finished with your branch, your entire set of branch
changes can be copied back into the trunk.</para>
-
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.copychanges.specific">
<title>Copying Specific Changes</title>
@@ -552,14 +554,14 @@
--- integer.c (revision 343)
+++ integer.c (revision 344)
@@ -147,7 +147,7 @@
- case 6: sprintf(info->operating_system, "HPFS (OS/2 or NT)"); break;
- case 7: sprintf(info->operating_system, "Macintosh"); break;
- case 8: sprintf(info->operating_system, "Z-System"); break;
-- case 9: sprintf(info->operating_system, "CPM"); break;
-+ case 9: sprintf(info->operating_system, "CP/M"); break;
- case 10: sprintf(info->operating_system, "TOPS-20"); break;
- case 11: sprintf(info->operating_system, "NTFS (Windows NT)"); break;
- case 12: sprintf(info->operating_system, "QDOS"); break;
+ case 6: sprintf(info->operating_system, "HPFS (OS/2 or NT)"); break;
+ case 7: sprintf(info->operating_system, "Macintosh"); break;
+ case 8: sprintf(info->operating_system, "Z-System"); break;
+- case 9: sprintf(info->operating_system, "CPM"); break;
++ case 9: sprintf(info->operating_system, "CP/M"); break;
+ case 10: sprintf(info->operating_system, "TOPS-20"); break;
+ case 11: sprintf(info->operating_system, "NTFS (Windows NT)"); break;
+ case 12: sprintf(info->operating_system, "QDOS"); break;
@@ -164,7 +164,7 @@
low = (unsigned short) read_byte(gzfile); /* read LSB */
high = (unsigned short) read_byte(gzfile); /* read MSB */
@@ -567,19 +569,19 @@
- total = low + high; /* add them togethe for correct total */
+ total = low + high; /* add them together for correct total */
- info->extra_header = (unsigned char *) my_malloc(total);
- fread(info->extra_header, total, 1, gzfile);
+ info->extra_header = (unsigned char *) my_malloc(total);
+ fread(info->extra_header, total, 1, gzfile);
@@ -241,7 +241,7 @@
Store the offset with ftell() ! */
- if ((info->data_offset = ftell(gzfile))== -1) {
+ if ((info->data_offset = ftell(gzfile))== -1) {
- printf("error: ftell() retturned -1.\n");
+ printf("error: ftell() returned -1.\n");
exit(1);
}
@@ -249,7 +249,7 @@
- printf("I believe start of compressed data is %u\n", info->data_offset);
+ printf("I believe start of compressed data is %u\n", info->data_offset);
#endif
- /* Set postion eight bytes from the end of the file. */
@@ -723,6 +725,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.copychanges.keyconcept">
<title>The Key Concept Behind Merging</title>
@@ -800,6 +803,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.copychanges.bestprac">
<title>Best Practices for Merging</title>
@@ -1077,7 +1081,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 4 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.commonuses">
<title>Common Use-Cases</title>
@@ -1086,6 +1090,7 @@
merge</command>, and this section describes the most common ones
you're likely to run into.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.commonuses.wholebr">
<title>Merging a Whole Branch to Another</title>
@@ -1252,6 +1257,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.commonuses.undo">
<title>Undoing Changes</title>
@@ -1338,6 +1344,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.commonuses.resurrect">
<title>Resurrecting Deleted Items</title>
@@ -1457,6 +1464,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.commonuses.patterns">
<title>Common Branching Patterns</title>
@@ -1666,7 +1674,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 5 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.switchwc">
<title>Switching a Working Copy</title>
@@ -1808,7 +1816,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 6 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.tags">
<title>Tags</title>
@@ -1827,6 +1835,7 @@
piece of software is a particular subdirectory of revision
4822.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.tags.mksimple">
<title>Creating a Simple Tag</title>
@@ -1886,6 +1895,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.tags.mkcomplex">
<title>Creating a Complex Tag</title>
@@ -1945,7 +1955,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 7 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.maint">
<title>Branch Maintenance</title>
@@ -1958,6 +1968,7 @@
flexible. In this section, we'll offer some suggestions for
arranging and managing your data over time.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.maint.layout">
<title>Repository Layout</title>
@@ -2014,6 +2025,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.branchmerge.maint.lifetime">
<title>Data Lifetimes</title>
@@ -2094,7 +2106,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 8 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.branchmerge.summary">
<title>Summary</title>
Modified: trunk/src/ru/book/ch05.xml
==============================================================================
--- trunk/src/ru/book/ch05.xml (original)
+++ trunk/src/ru/book/ch05.xml Fri Jul 8 14:46:36 2005
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="svn.reposadmin">
-
-<!-- @ENGLISH {{{
-<title>Repository Administration</title>
-@ ENGLISH }}} -->
-<title>Администрирование хранилища</title>
-<!-- See also svn.preface.organization -->
+ <!-- @ENGLISH {{{
+ <title>Repository Administration</title>
+ @ ENGLISH }}} -->
+ <title>Администрирование хранилища</title>
+ <!-- See also svn.preface.organization -->
<simplesect>
@@ -40,9 +39,9 @@
</simplesect>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 1: REPOSITORY BASICS *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.reposadmin.basics">
<title>Repository Basics</title>
@@ -57,10 +56,10 @@
to non-Subversion tools. The following section covers some of
these basic concepts at a very high level.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.basics.txnsrevs">
<title>Understanding Transactions and Revisions</title>
-
+
<para>Conceptually speaking, a Subversion repository is a
sequence of directory trees. Each tree is a snapshot of how
the files and directories versioned in your repository looked
@@ -78,7 +77,7 @@
a new revision number. If the commit fails for some reason,
the transaction is destroyed and the client is informed of the
failure.</para>
-
+
<para>Updates work in a similar way. The client builds a
temporary transaction tree that mirrors the state of the
working copy. The repository then compares that transaction
@@ -88,7 +87,7 @@
are needed to transform their working copy into a replica of
that revision tree. After the update completes, the temporary
transaction is deleted.</para>
-
+
<para>The use of transaction trees is the only way to make
permanent changes to a repository's versioned filesystem.
However, it's important to understand that the lifetime of a
@@ -110,10 +109,10 @@
by someone else, perhaps a manager or engineering QA team, who
can choose to promote the transaction into a revision, or
abort it.</para>
-
+
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.basics.revprops">
<title>Unversioned Properties</title>
@@ -154,7 +153,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.basics.backends">
<title>Repository Data-Stores</title>
@@ -195,105 +194,104 @@
<tbody>
<row>
<entry>Sensitivity to interruptions</entry>
-
+
<entry>very; crashes and permission problems can leave the
database <quote>wedged</quote>, requiring journaled
recovery procedures.</entry>
-
+
<entry>quite insensitive.</entry>
</row>
-
+
<row>
<entry>Usable from a read-only mount</entry>
-
+
<entry>no</entry>
-
+
<entry>yes</entry>
</row>
-
+
<row>
<entry>Platform-independent storage</entry>
-
+
<entry>no</entry>
-
+
<entry>yes</entry>
</row>
-
+
<row>
<entry>Usable over network filesystems</entry>
-
+
<entry>no</entry>
-
+
<entry>yes</entry>
</row>
-
+
<row>
<entry>Repository size</entry>
-
+
<entry>slightly larger</entry>
-
+
<entry>slightly smaller</entry>
</row>
<row>
<entry>Scalability: number of revision trees</entry>
-
+
<entry>database; no problems</entry>
-
+
<entry>some older native filesystems don't scale well with
thousands of entries in a single directory.</entry>
</row>
<row>
<entry>Scalability: directories with many files</entry>
-
+
<entry>slower</entry>
-
+
<entry>faster</entry>
</row>
-
+
<row>
<entry>Speed: checking out latest code</entry>
-
+
<entry>faster</entry>
-
+
<entry>slower</entry>
</row>
-
+
<row>
<entry>Speed: large commits</entry>
-
+
<entry>slower, but work is spread throughout commit</entry>
-
+
<entry>faster, but finalization delay may cause client
timeouts</entry>
</row>
-
+
<row>
<entry>Group permissions handling</entry>
-
+
<entry>sensitive to user umask problems; best if accessed
by only one user.</entry>
-
+
<entry>works around umask problems</entry>
</row>
<row>
<entry>Code maturity</entry>
-
+
<entry>in use since 2001</entry>
-
+
<entry>in use since 2004</entry>
</row>
</tbody>
- </tgroup>
+ </tgroup>
</table>
-
- <!-- ***************************************************************** -->
+
<sect3 id="svn.reposadmin.basics.backends.bdb">
<title>Berkeley DB</title>
-
+
<para>When the initial design phase of Subversion was in
progress, the developers decided to use Berkeley DB for a
variety of reasons, including its open-source license,
@@ -382,8 +380,7 @@
linkend="svn.serverconfig.multimethod"/>.</para>
</sect3>
-
- <!-- ***************************************************************** -->
+
<sect3 id="svn.reposadmin.basics.backends.fsfs">
<title>FSFS</title>
@@ -444,9 +441,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 2: REPOSITORY CREATION AND CONFIGURATION *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.reposadmin.create">
<title>Repository Creation and Configuration</title>
@@ -454,11 +451,11 @@
task. The <command>svnadmin</command> utility, provided with
Subversion, has a subcommand for doing just that. To create a
new repository, just run:</para>
-
+
<screen>
$ svnadmin create /path/to/repos
</screen>
-
+
<para>This creates a new repository in the directory
<filename>/path/to/repos</filename>. This new repository begins
life at revision 0, which is defined to consist of nothing but
@@ -501,7 +498,7 @@
<xref linkend="svn.serverconfig"/> covers this process in
detail.</para>
</warning>
-
+
<para>You may have noticed that the path argument to
<command>svnadmin</command> was just a regular filesystem path
and not a URL like the <command>svn</command> client program
@@ -518,12 +515,12 @@
command, you have a shiny new Subversion repository in its own
directory. Let's take a peek at what is actually created inside
that subdirectory.</para>
-
+
<screen>
$ ls repos
conf/ dav/ db/ format hooks/ locks/ README.txt
</screen>
-
+
<para>With the exception of the <filename>README.txt</filename> and
<filename>format</filename> files,
the repository directory is a collection of subdirectories. As
@@ -584,7 +581,7 @@
</listitem>
</varlistentry>
</variablelist>
-
+
<para>In general, you shouldn't tamper with your repository
<quote>by hand</quote>. The <command>svnadmin</command> tool
should be sufficient for any changes necessary to your
@@ -593,7 +590,7 @@
the repository. Some exceptions exist, though, and we'll cover
those here.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.create.hooks">
<title>Hook Scripts</title>
@@ -605,18 +602,18 @@
who triggered the event. Depending on the hook's output or
return status, the hook program may continue the action, stop
it, or suspend it in some way.</para>
-
+
<para>The <filename>hooks</filename> subdirectory is, by
default, filled with templates for various repository
hooks.</para>
-
+
<screen>
$ ls repos/hooks/
post-commit.tmpl post-unlock.tmpl pre-revprop-change.tmpl
post-lock.tmpl pre-commit.tmpl pre-unlock.tmpl
post-revprop-change.tmpl pre-lock.tmpl start-commit.tmpl
</screen>
-
+
<para>There is one template for each hook that the Subversion
repository implements, and by examining the contents of those
template scripts, you can see what triggers each such script
@@ -678,7 +675,7 @@
marshalled back to the client.</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><filename>pre-commit</filename></term>
<listitem>
@@ -721,7 +718,7 @@
arguments to this program: the path to the repository,
and the new revision number that was created. The exit
code of the program is ignored.</para>
-
+
<para>The Subversion distribution includes
<command>mailer.py</command> and
<command>commit-email.pl</command> scripts (located in
@@ -898,7 +895,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.create.bdb">
<title>Berkeley DB Configuration</title>
@@ -943,10 +940,10 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 3: REPOSITORY MAINTENANCE *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.reposadmin.maint">
<title>Repository Maintenance</title>
@@ -959,7 +956,7 @@
them to accomplish tasks such as repository migrations,
upgrades, backups and cleanups.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.maint.tk">
<title>An Administrator's Toolkit</title>
@@ -973,7 +970,7 @@
<sect3 id="svn.reposadmin.maint.tk.svnlook">
<title>svnlook</title>
-
+
<para><command>svnlook</command> is a tool provided by
Subversion for examining the various revisions and
transactions in a repository. No part of this program
@@ -985,10 +982,10 @@
committed (in the case of the <command>post-commit</command>
hook) to the repository. A repository administrator may use
this tool for diagnostic purposes.</para>
-
+
<para><command>svnlook</command> has a straightforward
syntax:</para>
-
+
<screen>
$ svnlook help
general usage: svnlook SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...]
@@ -1037,7 +1034,7 @@
$ svnlook youngest /path/to/repos
19
</screen>
-
+
<para>Output from <command>svnlook</command> is designed to be
both human- and machine-parsable. Take as an example the output
of the <literal>info</literal> subcommand:</para>
@@ -1151,7 +1148,7 @@
<varlistentry>
<term><literal>changed</literal></term>
<listitem>
- <para>List all files and directories that changed in the
+ <para>List all files and directories that changed in the
tree.</para>
</listitem>
</varlistentry>
@@ -1660,7 +1657,7 @@
</listitem>
</varlistentry>
</variablelist>
-
+
<para>While <command>svndumpfilter</command> can be very
useful, and a huge timesaver, there are unfortunately a
couple of gotchas. First, this utility is overly sensitive
@@ -1734,7 +1731,7 @@
<command>db_archive</command> command, and <command>svnadmin
recover</command> reflects the common use cases of the
<command>db_recover</command> utility.</para>
-
+
<para>There are still a few Berkeley DB utilities that you
might find useful. The <command>db_dump</command> and
<command>db_load</command> programs write and read,
@@ -1751,10 +1748,10 @@
</sect3>
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.maint.cleanup">
<title>Repository Cleanup</title>
-
+
<para>Your Subversion repository will generally require very
little attention once it is configured to your liking.
However, there are times when some manual assistance from an
@@ -1807,12 +1804,12 @@
This command changes the log message (the
<literal>svn:log</literal> property) on a given revision of a
repository, reading the new value from a provided file.</para>
-
+
<screen>
$ echo "Here is the new, correct log message" > newlog.txt
$ svnadmin setlog myrepos newlog.txt -r 388
</screen>
-
+
<para>The <command>svnadmin setlog</command> command alone is
still bound by the same protections against modifying
unversioned properties as a remote client is—the
@@ -1822,7 +1819,7 @@
this nature. But an administrator can get around these
protections by passing the <option>--bypass-hooks</option>
option to the <command>svnadmin setlog</command> command.</para>
-
+
<warning>
<para>Remember, though, that by bypassing the hooks, you are
likely avoiding such things as email notifications of
@@ -1900,7 +1897,7 @@
exit
fi
-for TXN in `svnadmin lstxns ${REPOS}`; do
+for TXN in `svnadmin lstxns ${REPOS}`; do
echo "---[ Transaction ${TXN} ]-------------------------------------------"
svnlook info "${REPOS}" --transaction "${TXN}"
done
@@ -1949,7 +1946,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.maint.diskspace">
<title>Managing Disk Space</title>
@@ -2051,8 +2048,8 @@
</note>
</sect2>
-
- <!-- ***************************************************************** -->
+
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.maint.recovery">
<title>Repository Recovery</title>
@@ -2099,7 +2096,7 @@
<para>Secondly, use the following recipe to attempt to
<quote>unwedge</quote> your repository:</para>
-
+
<orderedlist>
<listitem>
<para>Make sure that there are no processes accessing (or
@@ -2107,19 +2104,19 @@
repositories, this means shutting down the Apache HTTP
Server, too.</para>
</listitem>
- <listitem>
+ <listitem>
<para>Become the user who owns and manages the repository.
This is important, as recovering a repository while
running as the wrong user can tweak the permissions of the
repository's files in such a way that your repository will
- still be inaccessible even after it is
+ still be inaccessible even after it is
<quote>unwedged</quote>.</para>
</listitem>
<listitem>
<para>Run the command <command>svnadmin recover
/path/to/repos</command>. You should see output like
this:</para>
-
+
<screen>
Repository lock acquired.
Please wait; recovering the repository may take some time...
@@ -2133,7 +2130,7 @@
<para>Restart the Subversion server.</para>
</listitem>
</orderedlist>
-
+
<para>This procedure fixes almost every case of repository
lock-up. Make sure that you run this command as the user that
owns and manages the database, not just as
@@ -2156,10 +2153,10 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.maint.migrate">
<title>Migrating a Repository</title>
-
+
<para>A Subversion filesystem has its data spread throughout
various database tables in a fashion generally understood by
(and of interest to) only the Subversion developers
@@ -2179,7 +2176,7 @@
DB repository to a new OS or CPU architecture, or to switch
between Berkeley DB and FSFS back-ends. The recommended
course of action is relatively simple:</para>
-
+
<orderedlist>
<listitem>
<para>Using your <emphasis>current</emphasis> version of
@@ -2289,7 +2286,7 @@
against that repository from a regular Subversion client. And
just as in a commit, you can use hook scripts to perform
actions before and after each of the commits made during a load
- process. By passing the <option>--use-pre-commit-hook</option>
+ process. By passing the <option>--use-pre-commit-hook</option>
and <option>--use-post-commit-hook</option> options to
<command>svnadmin load</command>, you can instruct Subversion
to execute the pre-commit and post-commit hook scripts,
@@ -2300,7 +2297,7 @@
post-commit hook sends emails to a mailing list for each new
commit, you might not want to spew hundreds or thousands of
commit emails in rapid succession at that list for each of the
- loaded revisions! You can read more about the use of hook
+ loaded revisions! You can read more about the use of hook
scripts in <xref linkend="svn.reposadmin.create.hooks"/>.</para>
<para>Note that because <command>svnadmin</command> uses
@@ -2308,7 +2305,7 @@
load process, people who are feeling especially saucy can try
things like this (perhaps even using different versions of
<command>svnadmin</command> on each side of the pipe):</para>
-
+
<screen>
$ svnadmin create newrepos
$ svnadmin dump myrepos | svnadmin load newrepos
@@ -2427,7 +2424,7 @@
file:///path/to/projects/calendar \
file:///path/to/projects/spreadsheet
Committed revision 1.
-$
+$
</screen>
<para>Lastly, load the individual dump files into their
@@ -2463,7 +2460,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.maint.backup">
<title>Repository Backup</title>
@@ -2562,12 +2559,12 @@
<footnote>
<para><command>svnadmin setlog</command> can be called in a
way that bypasses the hook interface altogether.</para>
- </footnote>
+ </footnote>
And since you can change revision properties without respect
to chronological order—you can change any revision's
properties at any time—an incremental backup of the
latest few revisions might not catch a property modification
- to a revision that was included as part of a previous
+ to a revision that was included as part of a previous
backup.</para>
<para>Generally speaking, only the truly paranoid would need to
@@ -2581,7 +2578,7 @@
sufficient redundancy as restoration sources, at least for the
most recent few commits. But it's your data—protect it
as much as you'd like.</para>
-
+
<para>Often, the best approach to repository backups is a
diversified one. You can leverage combinations of full and
incremental backups, plus archives of commit emails. The
@@ -2596,16 +2593,16 @@
<para>You know—the collective term for all of her
<quote>fickle fingers</quote>.</para>
</footnote>
- it should certainly help you recover from those trying
+ it should certainly help you recover from those trying
times.</para>
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 6: ADDING PROJECTS *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.reposadmin.projects">
<title>Adding Projects</title>
@@ -2620,7 +2617,7 @@
layout of your repository, and how to get your data arranged in
that layout.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.reposadmin.projects.chooselayout">
<title>Choosing a Repository Layout</title>
@@ -2743,10 +2740,10 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<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
repository, you'll probably want to actually populate the
repository with that layout and with initial project data.
@@ -2760,7 +2757,7 @@
in a temporary location on your drive, you can import the
whole layout tree into the repository in a single
commit:</para>
-
+
<screen>
$ mkdir tmpdir
$ cd tmpdir
@@ -2816,9 +2813,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 7: SUMMARY *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.reposadmin.summary">
<title>Summary</title>
@@ -2837,7 +2834,7 @@
</chapter>
<!--
-local variables:
+local variables:
sgml-parent-document: ("book.xml" "chapter")
end:
vim: tw=78:ft=svnbook
Modified: trunk/src/ru/book/ch06.xml
==============================================================================
--- trunk/src/ru/book/ch06.xml (original)
+++ trunk/src/ru/book/ch06.xml Fri Jul 8 14:46:36 2005
@@ -28,7 +28,7 @@
</simplesect>
<!-- ================================================================= -->
- <!-- ======================== SECTION 1 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.serverconfig.overview">
@@ -150,7 +150,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 2 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.serverconfig.netmodel">
@@ -163,6 +163,7 @@
different ways in which a client can be configured to
respond.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.netmodel.reqresp">
<title>Requests and Responses</title>
@@ -209,6 +210,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.netmodel.credcache">
<title>Client Credentials Caching</title>
@@ -410,7 +412,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 3 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.serverconfig.svnserve">
@@ -426,6 +428,7 @@
to the server, and how to configure appropriate access control
to your repositories.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.svnserve.invoking">
<title>Invoking the Server</title>
@@ -564,6 +567,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.svnserve.auth">
<title>Built-in authentication and authorization</title>
@@ -739,6 +743,7 @@
</sect3>
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.svnserve.sshauth">
<title>SSH authentication and authorization</title>
@@ -877,6 +882,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.svnserve.sshtricks">
<title>SSH configuration tricks</title>
@@ -1004,7 +1010,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 4 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.serverconfig.httpd">
@@ -1083,6 +1089,7 @@
</sidebar>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.httpd.prereqs">
<title>Prerequisites</title>
@@ -1122,6 +1129,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.httpd.basic">
<title>Basic Apache Configuration</title>
@@ -1283,6 +1291,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.httpd.authn">
<title>Authentication Options</title>
@@ -1575,6 +1584,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.httpd.authz">
<title>Authorization Options</title>
@@ -1957,17 +1967,17 @@
<para>The <command>mod_dav_svn</command> module goes through a
lot of work to make sure that data you've marked
- "unreadable" doesn't get accidentally leaked. This means
- that it needs to closely monitor all of the paths and
- file-contents returned by commands like <command>svn
+ <quote>unreadable</quote> doesn't get accidentally leaked.
+ This means that it needs to closely monitor all of the paths
+ and file-contents returned by commands like <command>svn
checkout</command> or <command>svn update</command>
commands. If these commands encounter a path that isn't
readable according to some authorization policy, then the
path is typically omitted altogether. In the case of
- history or rename tracing — e.g. running a command
- like <command>svn cat -r OLD foo.c</command> on a file that
- was renamed long ago — the rename tracking will simply
- halt if one of the object's former names is determined to be
+ history or rename tracing—e.g. running a command like
+ <command>svn cat -r OLD foo.c</command> on a file that was
+ renamed long ago—the rename tracking will simply halt
+ if one of the object's former names is determined to be
read-restricted.</para>
<para>All of this path-checking can sometimes be quite
@@ -2010,16 +2020,17 @@
</programlisting>
</example>
- <para>The <literal>SVNPathAuthz</literal> directive is "on" by
- default. When set "off", all path-based authorization
- checking is disabled; <command>mod_dav_svn</command> stops
- invoking authorization checks on every path it
- discovers.</para>
+ <para>The <literal>SVNPathAuthz</literal> directive is <quote>on</quote> by
+ default. When set <quote>off</quote>, all path-based
+ authorization checking is disabled;
+ <command>mod_dav_svn</command> stops invoking authorization
+ checks on every path it discovers.</para>
</sect3>
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.serverconfig.httpd.extra">
<title>Extra Goodies</title>
@@ -2173,7 +2184,7 @@
<!-- ================================================================= -->
- <!-- ======================== SECTION 5 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.serverconfig.multimethod">
Modified: trunk/src/ru/book/ch07.xml
==============================================================================
--- trunk/src/ru/book/ch07.xml (original)
+++ trunk/src/ru/book/ch07.xml Fri Jul 8 14:46:36 2005
@@ -45,9 +45,6 @@
</simplesect>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 1: RUNTIME CONFIGURATION AREA *** -->
- <!-- ******************************************************************* -->
<sect1 id="svn.advanced.confarea">
<title>Runtime Configuration Area</title>
@@ -70,7 +67,7 @@
determine which of several optional behaviors the user
prefers.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.confarea.layout">
<title>Configuration Area Layout</title>
@@ -139,7 +136,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.confarea.windows-registry">
<title>Configuration and the Windows Registry</title>
@@ -261,7 +258,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.confarea.opts">
<title>Configuration Options</title>
@@ -508,7 +505,9 @@
<command>svn diff</command> command). By default
Subversion uses an internal differencing
library—setting this option will cause it to
- perform this task using an external program.</para>
+ perform this task using an external program. See
+ <xref linkend="svn.advanced.externaldifftools"/> for
+ more details on using such programs.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -520,7 +519,9 @@
from the repository. By default Subversion uses an
internal differencing library—setting this
option will cause it to perform this task using an
- external program.</para>
+ external program. See <xref
+ linkend="svn.advanced.externaldifftools"/> for more
+ details on using such programs.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -660,9 +661,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 2: PROPERTIES *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.advanced.props">
<title>Properties</title>
@@ -711,7 +712,7 @@
Hopefully, you'll be convinced that Subversion properties can
enhance your version control experience.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.props.why">
<title>Why Properties?</title>
@@ -764,7 +765,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.props.manip">
<title>Manipulating Properties</title>
@@ -1050,7 +1051,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.props.special">
<title>Special Properties</title>
@@ -1501,9 +1502,9 @@
we didn't ask for it to be.</para>
<para>Note also that we set the <literal>svn:keywords</literal>
- property to "Date Author" yet the keyword anchor used the
- alias <literal>$LastChangedDate$</literal> and still
- expanded correctly.</para>
+ property to <quote>Date Author</quote> yet the keyword
+ anchor used the alias <literal>$LastChangedDate$</literal>
+ and still expanded correctly.</para>
<screen>
Here is the latest report from the front lines.
@@ -1707,7 +1708,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.props.auto">
<title>Automatic Property Setting</title>
@@ -1762,9 +1763,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** LOCKING *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.advanced.locking">
<title>Locking</title>
@@ -1803,6 +1804,7 @@
only—it's not yet possible to reserve access to a whole
directory tree.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.locking.creation">
<title>Creating locks</title>
@@ -2003,6 +2005,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.locking.discovery">
<title>Discovering locks</title>
@@ -2071,6 +2074,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.locking.break-steal">
<title>Breaking and stealing locks</title>
@@ -2239,6 +2243,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.locking.lock-communication">
<title>Lock Communication</title>
@@ -2325,9 +2330,9 @@
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 2 1/2: PEG AND OPERATIVE REVISIONS *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.advanced.pegrevs">
<title>Peg and Operative Revisions</title>
@@ -2548,7 +2553,7 @@
<para>And the peg and operative revisions need not be so trivial,
either. For example, say <filename>frabnaggilywort</filename>
- had beed deleted from <literal>HEAD</literal>, but we know it
+ had been deleted from <literal>HEAD</literal>, but we know it
existed in revision 20, and we want to see the diffs for its
<filename>IDEA</filename> file between revisions 4 and 10. We
can use the peg revision 20 in conjunction with the URL that
@@ -2581,9 +2586,9 @@
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 3: EXTERNALS DEFINITIONS *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.advanced.externals">
<title>Externals Definitions</title>
@@ -2670,6 +2675,24 @@
subdirectories to display the status of the external items
themselves.</para>
+ <tip>
+ <para>You should strongly consider using explicit revision
+ numbers in all of your externals definitions. Doing so means
+ that you get to decide when to pull down a different snapshot
+ of external information, and exactly which snapshot to pull.
+ Besides the common sense aspect of not being surprised by
+ changes to third-party repositories that you might not have
+ any control over, using explicit revision numbers also means
+ that as you backdate your working copy to a previous
+ revision, your externals definitions will also revert to the
+ way they looked in that previous revision, which in turn means
+ that the external working copies will be updated to match they
+ way <emphasis>they</emphasis> looked back when your repository was
+ at that previous revision. For software projects, this could
+ be the difference between a successful and a failed build of
+ an older snapshot of your complex codebase.</para>
+ </tip>
+
<para>The support that exists for externals definitions in
Subversion today can be a little misleading, though. First, an
externals definition can only point to directories, not files.
@@ -2698,8 +2721,8 @@
copy</command> to branch that line to some new location
<filename>/branches/my-branch</filename>, the externals
definitions on items in your new branch will still refer to
- versioned resources in <filename>/trunk</filename>. Also, be
- aware that if you need to re-parent your working copy (using
+ versioned resources in <filename>/trunk</filename>. Be aware,
+ too, that if you need to re-parent your working copy (using
<command>svn switch --relocate</command>), externals definitions
will <emphasis>not</emphasis> also be re-parented.</para>
@@ -2711,9 +2734,9 @@
the subcommand.</para>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 4: VENDOR BRANCHES *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.advanced.vendorbr">
<title>Vendor branches</title>
@@ -2788,7 +2811,7 @@
it in-place—you have no more need of an automated (or
worse, manual) method for swapping in your customizations.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.vendorbr.general">
<title>General Vendor Branch Management Procedure</title>
@@ -2942,7 +2965,7 @@
another section on bypassing svn_load_dirs.pl altogether and
running with just svn merge, now that it ignores ancestry. -->
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.vendorbr.svn_load_dirs">
<title><command>svn_load_dirs.pl</command></title>
@@ -3070,9 +3093,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 5: LOCALIZATION *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.advanced.l10n">
<title>Localization</title>
@@ -3084,9 +3107,10 @@
be <firstterm>localized</firstterm>. This section describes
steps Subversion has made towards localization.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.l10n.understanding">
<title>Understanding locales</title>
-
+
<para>Most modern operating systems have a notion of the
<quote>current locale</quote>—that is, the region or
country whose localization conventions are honored. These
@@ -3139,6 +3163,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.advanced.l10n.svnuse">
<title>Subversion's use of locales</title>
@@ -3183,7 +3208,7 @@
<command>svn</command> interprets your input. The repository
stores all paths, filenames, and log messages in Unicode,
encoded as UTF-8. In that sense, the repository is
- <firstterm>internationalized</firstterm>— that is, the
+ <firstterm>internationalized</firstterm>—that is, the
repository is ready to accept input in any human language.
This means, however, that the Subversion client is responsible
for sending only UTF-8 filenames and log messages into the
@@ -3242,9 +3267,247 @@
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 6: SUBVERSION REPOSITORY URLS *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <sect1 id="svn.advanced.externaldifftools">
+ <title>Using External Differencing Tools</title>
+
+ <para>The presence of <option>--diff-cmd</option> and
+ <option>--diff3-cmd</option> options, and similarly named
+ runtime configuration parameters (see <xref
+ linkend="svn.advanced.confarea.opts.config"/>), can lead to a
+ false notion of how easy it is to use external differencing (or
+ <quote>diff</quote>) and merge tools with Subversion. While
+ Subversion can use most of popular such tools available, the
+ effort invested in setting this up often turns out to be
+ non-trivial.</para>
+
+ <para>The interface between Subversion and external diff and merge
+ tools harkens back to a time when Subversion's only contextual
+ differencing capabilities were built around invocations of the
+ GNU diffutils toolchain, specifically the
+ <command>diff</command> and <command>diff3</command> utilities.
+ To get the kind of behavior Subversion needed, it called these
+ utilities with more than a handful of options and parameters,
+ most of which were quite specific to the utilities. Some time
+ later, Subversion grew its own internal differencing library,
+ and as a failover mechanism,
+ <footnote>
+ <para>Subversion developers are good, but even the best make
+ mistakes.</para>
+ </footnote>
+ the <option>--diff-cmd</option> and <option>--diff3-cmd</option>
+ options were added to the Subversion command-line client so
+ users could more easily indicate that they preferred to use the
+ GNU diff and diff3 utilities instead of the newfangled internal
+ diff library. If those options were used, Subversion would
+ simply ignore the internal diff library, and fall back to
+ running those external programs, lengthy argument lists and all.
+ And that's where things remain today.</para>
+
+ <para>It didn't take long for folks to realize that having such
+ easy configuration mechanisms for specifying that Subversion
+ should use the external GNU diff and diff3 utilities located at
+ a particular place on the system could be applied toward the use
+ of other diff and merge tools, too. After all, Subversion
+ didn't actually verify that the things it was being told to run
+ were members of the GNU diffutils toolchain. But the only
+ configurable aspect of using those external tools is their
+ location on the system—not the option set, parameter
+ order, etc. Subversion continues throwing all those GNU utility
+ options at your external diff tool regardless of whether or not
+ that program can understand those options. And that's where
+ things get unintuitive for most users.</para>
+
+ <para>The key to using external diff and merge tools (other than
+ GNU diff and diff3, of course) with Subversion is to use wrapper
+ scripts which convert the input from Subversion into something
+ that your differencing tool can understand, and then to convert
+ the output of your tool back into a format which Subversion
+ expects—the format that the GNU tools would have used.
+ The following sections cover the specifics of those
+ expectations.</para>
+
+ <note>
+ <para>The decision on when to fire off a contextual diff or
+ merge as part of a larger Subversion operation is made
+ entirely by Subversion, and is affected by, among other
+ things, whether or not the files being operated on are
+ human-readable as determined by their
+ <literal>svn:mime-type</literal> property. This means, for
+ example, that even if you had the niftiest Microsoft
+ Word-aware differencing or merging tool in the Universe, it
+ would never be invoked by Subversion so long as your versioned
+ Word documents had a configured MIME type that denoted that
+ they were not human-readable (such as
+ <literal>application/msword</literal>). For more about MIME
+ type settings, see <xref
+ linkend="svn.advanced.props.special.mime-type"/></para>
+ </note>
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.advanced.externaldifftools.diff">
+ <title>External diff</title>
+
+ <para>Subversion calls external diff programs with parameters
+ suitable for the GNU diff utility, and expects only that the
+ external program return with a successful error code. For
+ most alternative diff program, only the sixth and seventh
+ arguments, the paths of the files which represent the left and
+ right sides of the diff, respectively, are of interest. Note
+ that Subversion runs the diff program once per modified file
+ covered by the Subversion operation, so if your program runs
+ in an asynchronous fashion (or <quote>backgrounded</quote>),
+ you might have several instances of it all running
+ simultaneously. Finally, Subversion expects that your program
+ return an errorcode of 0 if your program detected differences,
+ or 1 if it did not—any other errorcode is considered a
+ fatal error.
+ <footnote>
+ <para>The GNU diff manual page puts it this way: <quote>An
+ exit status of 0 means no differences were found, 1 means some
+ differences were found, and 2 means trouble.</quote></para>
+ </footnote>
+ </para>
+
+ <para><xref linkend="svn.advanced.externaldifftools.diff.ex-1"/>
+ and <xref linkend="svn.advanced.externaldifftools.diff.ex-2"/>
+ are templates for external diff tool wrappers in the Bourne
+ shell and Windows batch scripting languages,
+ respectively.</para>
+
+ <example id="svn.advanced.externaldifftools.diff.ex-1">
+ <title>diffwrap.sh</title>
+ <programlisting>
+#!/bin/sh
+
+# Configure your favorite diff program here.
+DIFF="/usr/local/bin/my-diff-tool"
+
+# Subversion provides the paths we need as the sixth and seventh
+# parameters.
+LEFT=${6}
+RIGHT=${7}
+
+# Call the diff command (change the following line to make sense for
+# your merge program).
+$DIFF --left $LEFT --right $RIGHT
+
+# Return an errorcode of 0 if no differences were detected, 1 if some were.
+# Any other errorcode will be treated as fatal.
+</programlisting>
+ </example>
+
+ <example id="svn.advanced.externaldifftools.diff.ex-2">
+ <title>diffwrap.bat</title>
+ <programlisting>
+ at ECHO OFF
+
+REM Configure your favorite diff program here.
+SET DIFF="C:\Program Files\Funky Stuff\My Diff Tool.exe"
+
+REM Subversion provides the paths we need as the sixth and seventh
+REM parameters.
+SET LEFT=%6
+SET RIGHT=%7
+
+REM Call the diff command (change the following line to make sense for
+REM your merge program).
+%DIFF% --left %LEFT% --right %RIGHT%
+
+REM Return an errorcode of 0 if no differences were detected, 1 if some were.
+REM Any other errorcode will be treated as fatal.
+</programlisting>
+ </example>
+ </sect2>
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.advanced.externaldifftools.diff3">
+ <title>External diff3</title>
+
+ <para>Subversion calls external merge programs with parameters
+ suitable for the GNU diff3 utility, expecting that the
+ external program return with a successful error code and that
+ the full file contents which result from the completed merge
+ operation are printed on the standard output stream (so that
+ Subversion can redirect them into the appropriate version
+ controlled file). For most alternative merge programs, only
+ the ninth, tenth, and eleventh arguments, the paths of the
+ files which represent the <quote>mine</quote>,
+ <quote>older</quote>, and <quote>yours</quote> inputs,
+ respectively, are of interest. Note that because Subversion
+ depends on the output of your merge program, you wrapper
+ script must not exit before that output has been delivered to
+ Subversion. When it finally does exit, it should return an
+ errorcode of 0 if the merge was successful, or 1 if unresolved
+ conflicts remain in the output—any other errorcode is
+ considered a fatal error.</para>
+
+ <para><xref linkend="svn.advanced.externaldifftools.diff3.ex-1"/>
+ and <xref linkend="svn.advanced.externaldifftools.diff3.ex-2"/> are
+ templates for external merge tool wrappers in the Bourne shell
+ and Windows batch scripting languages, respectively.</para>
+
+ <example id="svn.advanced.externaldifftools.diff3.ex-1">
+ <title>diff3wrap.sh</title>
+ <programlisting>
+#!/bin/sh
+
+# Configure your favorite diff3/merge program here.
+DIFF3="/usr/local/bin/my-merge-tool"
+
+# Subversion provides the paths we need as the ninth, tenth, and eleventh
+# parameters.
+MINE=${9}
+OLDER=${10}
+YOURS=${11}
+
+# Call the merge command (change the following line to make sense for
+# your merge program).
+$DIFF3 --older $OLDER --mine $MINE --yours $YOURS
+
+# After performing the merge, this script needs to print the contents
+# of the merged file to stdout. Do that in whatever way you see fit.
+# Return an errorcode of 0 on successful merge, 1 if unresolved conflicts
+# remain in the result. Any other errorcode will be treated as fatal.
+</programlisting>
+ </example>
+
+ <example id="svn.advanced.externaldifftools.diff3.ex-2">
+ <title>diff3wrap.bat</title>
+ <programlisting>
+ at ECHO OFF
+
+REM Configure your favorite diff3/merge program here.
+SET DIFF3="C:\Program Files\Funky Stuff\My Merge Tool.exe"
+
+REM Subversion provides the paths we need as the ninth, tenth, and eleventh
+REM parameters. But we only have access to nine parameters at a time, so we
+REM shift our nine-parameter window twice to let us get to what we need.
+SHIFT
+SHIFT
+SET MINE=%7
+SET OLDER=%8
+SET YOURS=%9
+
+REM Call the merge command (change the following line to make sense for
+REM your merge program).
+%DIFF3% --older %OLDER% --mine %MINE% --yours %YOURS%
+
+REM After performing the merge, this script needs to print the contents
+REM of the merged file to stdout. Do that in whatever way you see fit.
+REM Return an errorcode of 0 on successful merge, 1 if unresolved conflicts
+REM remain in the result. Any other errorcode will be treated as fatal.
+</programlisting>
+ </example>
+
+ </sect2>
+ </sect1>
+
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.advanced.reposurls">
<title>Subversion Repository URLs</title>
Modified: trunk/src/ru/book/ch08.xml
==============================================================================
--- trunk/src/ru/book/ch08.xml (original)
+++ trunk/src/ru/book/ch08.xml Fri Jul 8 14:46:36 2005
@@ -31,9 +31,9 @@
</simplesect>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 1: LAYERED LIBRARY DESIGN *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.developer.layerlib">
<title>Layered Library Design</title>
@@ -149,7 +149,7 @@
designing a working Subversion client (see <xref
linkend="svn.developer.layerlib.client"/>).</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.layerlib.repos">
<title>Repository Layer</title>
@@ -412,7 +412,7 @@
printf ("Directory '%s' was successfully added as new revision "
"'%ld'.\n", new_directory, youngest_rev);
}
- else if (err->apr_err == SVN_ERR_FS_CONFLICT)
+ else if (err->apr_err == SVN_ERR_FS_CONFLICT)
{
/* Uh-oh. Our commit failed as the result of a conflict
(someone else seems to have made changes to the same area
@@ -495,7 +495,7 @@
</sect2>
- <!-- ****************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.layerlib.ra">
<title>Repository Access Layer</title>
@@ -720,7 +720,7 @@
</sect3>
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.layerlib.client">
<title>Client Layer</title>
@@ -802,9 +802,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 2: USING THE APIS *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.developer.usingapi">
<title>Using the APIs</title>
@@ -835,7 +835,7 @@
interested in these naming conventions, but they help to clarify
the scope of a given function or datatype.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.usingapi.apr">
<title>The Apache Portable Runtime Library</title>
@@ -885,7 +885,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.usingapi.urlpath">
<title>URL and Path Requirements</title>
@@ -920,7 +920,7 @@
decoding, respectively.</para>
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.usingapi.otherlangs">
<title>Using Languages Other than C and C++</title>
@@ -1168,9 +1168,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 3: INSIDE THE WORKING COPY ADMINISTRATION AREA *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.developer.insidewc">
<title>Inside the Working Copy Administration Area</title>
@@ -1204,7 +1204,7 @@
<filename>.svn</filename> directory, we will examine only a
couple of the most important items.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.insidewc.entries">
<title>The Entries File</title>
@@ -1332,7 +1332,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.insidewc.base-and-props">
<title>Pristine Copies and Property Files</title>
@@ -1370,9 +1370,9 @@
</sect2>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 4: WEBDAV *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.developer.webdav">
<title>WebDAV</title>
@@ -1410,9 +1410,9 @@
clients.</para>
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 5: PROGRAMMING WITH MEMORY POOLS *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.developer.pools">
<title>Programming with Memory Pools</title>
@@ -1593,9 +1593,9 @@
</sect1>
- <!-- ******************************************************************* -->
- <!-- *** SECTION 6: CONTRIBUTING TO SUBVERSION *** -->
- <!-- ******************************************************************* -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
<sect1 id="svn.developer.contrib">
<title>Contributing to Subversion</title>
@@ -1609,7 +1609,7 @@
changes to the source code, here are some hints on how to get
started.</para>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.contrib.join">
<title>Join the Community</title>
@@ -1643,7 +1643,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.contrib.get-code">
<title>Get the Source Code</title>
@@ -1696,7 +1696,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.contrib.hacking">
<title>Become Familiar with Community Policies</title>
@@ -1727,7 +1727,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.contrib.code-and-test">
<title>Make and Test Your Changes</title>
@@ -1777,7 +1777,7 @@
</sect2>
- <!-- ***************************************************************** -->
+ <!-- =============================================================== -->
<sect2 id="svn.developer.contrib.submit">
<title>Donate Your Changes</title>
Modified: trunk/src/ru/book/ch09.xml
==============================================================================
--- trunk/src/ru/book/ch09.xml (original)
+++ trunk/src/ru/book/ch09.xml Fri Jul 8 14:46:36 2005
@@ -27,10 +27,10 @@
</simplesect>
<!-- ================================================================= -->
- <!-- ======================== SECTION 1 ============================== -->
<!-- ================================================================= -->
-<!-- @ENGLISH {{{
+ <!-- ================================================================= -->
<sect1 id="svn.ref.svn">
+<!-- @ENGLISH {{{
<title>The Subversion Command Line Client:
<command>svn</command></title>
@@ -44,7 +44,6 @@
the following are valid ways to use <command>svn
status</command>:</para>
@ENGLISH }}} -->
- <sect1 id="svn.ref.svn">
<title>Клиент командной строки Subversion:
<command>svn</command></title>
@@ -64,12 +63,19 @@
$ svn status -v myfile
</screen>
-<!-- @ENGLISH {{{
+ <!-- @ENGLISH {{{
<para>You can find many more examples of how to use most client
commands in <xref linkend="svn.tour"/> and commands for managing
properties in <xref linkend="svn.advanced.props"/>.</para>
+ @ENGLISH }}} -->
+ <para>Много примеров использования большинства клиентских команд
+ может быть найдено в главе <xref linkend="svn.tour"/>. Команды
+ для управления свойствами описаны в главе
+ <xref linkend="svn.advanced.props"/>.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.ref.svn.sw">
+ <!-- @ENGLISH {{{
<title><command>svn</command> Switches</title>
<para>While Subversion has different switches for its
@@ -79,13 +85,7 @@
<option>--><!--verbose</option> (<option>-v</option>) always
means <quote>verbose output</quote>, regardless of the
subcommand you use it with.</para>
- at ENGLISH }}} -->
- <para>Много примеров использования большинства клиентских команд
- может быть найдено в главе <xref linkend="svn.tour"/>. Команды
- для управления свойствами описаны в главе
- <xref linkend="svn.advanced.props"/>.</para>
-
- <sect2 id="svn.ref.svn.sw">
+ @ENGLISH }}} -->
<title>Параметры <command>svn</command></title>
<para>Хотя Subversion имеет различные параметры для своих подкоманд,
@@ -679,6 +679,7 @@
</sect2>
+ <!-- =============================================================== -->
<sect2 id="svn.ref.svn.c">
<title><command>svn</command> Subcommands</title>
@@ -687,6 +688,7 @@
<refname>svn add</refname>
<refpurpose>Add files, directories, or symbolic links.</refpurpose>
</refnamediv>
+
<refsect1>
<title>Synopsis</title>
<programlisting>svn add PATH...</programlisting>
@@ -780,7 +782,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.blame">
<refnamediv>
<refname>svn blame</refname>
@@ -844,7 +845,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.cat">
<refnamediv>
<refname>svn cat</refname>
@@ -923,7 +923,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.checkout">
<refnamediv>
<refname>svn checkout</refname>
@@ -1053,7 +1052,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.cleanup">
<refnamediv>
<refname>svn cleanup</refname>
@@ -1125,7 +1123,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.commit">
<refnamediv>
<refname>svn commit</refname>
@@ -1252,7 +1249,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.copy">
<refnamediv>
<refname>svn copy</refname>
@@ -1421,7 +1417,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.delete">
<refnamediv>
<refname>svn delete</refname>
@@ -1528,7 +1523,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.diff">
<refnamediv>
<refname>svn diff</refname>
@@ -1690,8 +1684,8 @@
$ svn diff COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 4404)
-+++ COMMITTERS (working copy)
+--- COMMITTERS (revision 4404)
++++ COMMITTERS (working copy)
</screen>
<para>See how your working copy's modifications compare
@@ -1701,8 +1695,8 @@
$ svn diff -r 3900 COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3900)
-+++ COMMITTERS (working copy)
+--- COMMITTERS (revision 3900)
++++ COMMITTERS (working copy)
</screen>
<para>Compare revision 3000 to revision 3500 using <quote>@</quote>
@@ -1712,8 +1706,8 @@
$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3000)
-+++ COMMITTERS (revision 3500)
+--- COMMITTERS (revision 3000)
++++ COMMITTERS (revision 3500)
…
</screen>
@@ -1725,8 +1719,8 @@
$ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk/COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3000)
-+++ COMMITTERS (revision 3500)
+--- COMMITTERS (revision 3000)
++++ COMMITTERS (revision 3500)
</screen>
@@ -1753,8 +1747,8 @@
$ svn diff -r 3000:3500 COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3000)
-+++ COMMITTERS (revision 3500)
+--- COMMITTERS (revision 3000)
++++ COMMITTERS (revision 3500)
</screen>
<para>Use <option>--diff-cmd</option>
@@ -1774,7 +1768,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.export">
<refnamediv>
<refname>svn export</refname>
@@ -1879,7 +1872,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.help">
@@ -1923,7 +1915,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.import">
<refnamediv>
<refname>svn import</refname>
@@ -2018,7 +2009,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.info">
<refnamediv>
<refname>svn info</refname>
@@ -2114,7 +2104,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.list">
<refnamediv>
<refname>svn list</refname>
@@ -2220,7 +2209,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.log">
<refnamediv>
<refname>svn log</refname>
@@ -2457,7 +2445,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.merge">
<refnamediv>
<refname>svn merge</refname>
@@ -2473,13 +2460,14 @@
<refsect1>
<title>Description</title>
- <para>In the first form, the source URLs are specified at
- revisions <replaceable>N</replaceable> and
+ <para>In the first and second forms, the source paths (URLs
+ in the first form, working copy paths in the second) are
+ specified at revisions <replaceable>N</replaceable> and
<replaceable>M</replaceable>. These are the two sources
to be compared. The revisions default to
<literal>HEAD</literal> if omitted.</para>
- <para>In the second form, <replaceable>SOURCE</replaceable>
+ <para>In the third form, <replaceable>SOURCE</replaceable>
can be a URL or working copy item, in which case the
corresponding URL is used. This URL, at revisions
<replaceable>N</replaceable> and
@@ -2571,7 +2559,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.mkdir">
<refnamediv>
<refname>svn mkdir</refname>
@@ -2651,7 +2638,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.move">
<refnamediv>
<refname>svn move</refname>
@@ -2759,7 +2745,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.propdel">
<refnamediv>
<refname>svn propdel</refname>
@@ -2831,7 +2816,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.propedit">
<refnamediv>
<refname>svn propedit</refname>
@@ -2901,7 +2885,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.propget">
<refnamediv>
<refname>svn propget</refname>
@@ -2978,7 +2961,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.proplist">
<refnamediv>
<refname>svn proplist</refname>
@@ -3059,7 +3041,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.propset">
<refnamediv>
<refname>svn propset</refname>
@@ -3190,7 +3171,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.resolved">
<refnamediv>
<refname>svn resolved</refname>
@@ -3274,7 +3254,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.revert">
<refnamediv>
<refname>svn revert</refname>
@@ -3372,7 +3351,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.status">
<refnamediv>
<refname>svn status</refname>
@@ -3712,7 +3690,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.switch">
<refnamediv>
<refname>svn switch</refname>
@@ -3866,7 +3843,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svn.c.update">
<refnamediv>
<refname>svn update</refname>
@@ -4009,7 +3985,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 2 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.ref.svnadmin">
<title><command>svnadmin</command></title>
@@ -4023,6 +3999,7 @@
(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.ref.svnadmin.sw">
<title><command>svnadmin</command> Switches</title>
@@ -4140,11 +4117,10 @@
</variablelist>
</sect2>
- <!-- ================================================================= -->
+ <!-- =============================================================== -->
<sect2 id="svn.ref.svnadmin.c">
<title><command>svnadmin</command> Subcommands</title>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.create">
<refnamediv>
<refname>svnadmin create</refname>
@@ -4198,7 +4174,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.deltify">
<refnamediv>
<refname>svnadmin deltify</refname>
@@ -4232,7 +4207,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.dump">
<refnamediv>
<refname>svnadmin dump</refname>
@@ -4311,7 +4285,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.help">
<refnamediv>
<refname>svnadmin help</refname>
@@ -4337,7 +4310,6 @@
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.hotcopy">
<refnamediv>
<refname>svnadmin hotcopy</refname>
@@ -4373,7 +4345,6 @@
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.list-dblogs">
<refnamediv>
<refname>svnadmin list-dblogs</refname> <refpurpose>Ask
@@ -4400,7 +4371,6 @@
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.list-unused-dblogs">
<refnamediv>
<refname>svnadmin list-unused-dblogs</refname>
@@ -4443,7 +4413,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.load">
<refnamediv>
<refname>svnadmin load</refname> <refpurpose>Read a
@@ -4503,7 +4472,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.lstxns">
<refnamediv>
<refname>svnadmin lstxns</refname>
@@ -4537,7 +4505,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.recover">
<refnamediv>
<refname>svnadmin recover</refname>
@@ -4607,7 +4574,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.rmtxns">
<refnamediv>
@@ -4657,7 +4623,6 @@
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.setlog">
<refnamediv>
<refname>svnadmin setlog</refname>
@@ -4711,7 +4676,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnadmin.c.verify">
<refnamediv>
<refname>svnadmin verify</refname>
@@ -4748,7 +4712,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 3 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.ref.svnlook">
<title><command>svnlook</command></title>
@@ -4769,6 +4733,7 @@
<command>svnlook</command> defaults to the youngest (most
recent) revision of the repository.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.ref.svnlook.sw">
<title><command>svnlook</command> Switches</title>
@@ -4822,7 +4787,7 @@
</sect2>
- <!-- ================================================================= -->
+ <!-- =============================================================== -->
<sect2 id="svn.ref.svnlook.c">
<title><command>svnlook</command></title>
@@ -4865,7 +4830,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.cat">
<refnamediv>
<refname>svnlook cat</refname>
@@ -4917,7 +4881,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.changed">
<refnamediv>
<refname>svnlook changed</refname>
@@ -4965,7 +4928,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.date">
<refnamediv>
<refname>svnlook date</refname>
@@ -5005,7 +4967,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.diff">
<refnamediv>
<refname>svnlook diff</refname>
@@ -5047,8 +5008,8 @@
Modified: trunk/vendors/deli/sandwich.txt
==============================================================================
---- trunk/vendors/deli/sandwich.txt (original)
-+++ trunk/vendors/deli/sandwich.txt 2003-02-22 17:45:04.000000000 -0600
+--- trunk/vendors/deli/sandwich.txt (original)
++++ trunk/vendors/deli/sandwich.txt 2003-02-22 17:45:04.000000000 -0600
@@ -0,0 +1 @@
+Don't forget the mayo!
@@ -5069,7 +5030,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.dirs-changed">
<refnamediv>
<refname>svnlook dirs-changed</refname>
@@ -5110,7 +5070,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.help">
<refnamediv>
<refname>svnlook help</refname>
@@ -5135,7 +5094,6 @@
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.history">
<refnamediv>
<refname>svnlook history</refname>
@@ -5195,7 +5153,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.info">
<refnamediv>
<refname>svnlook info</refname>
@@ -5239,7 +5196,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.log">
<refnamediv>
<refname>svnlook log</refname>
@@ -5278,7 +5234,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.propget">
<refnamediv>
<refname>svnlook propget</refname>
@@ -5326,7 +5281,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.proplist">
<refnamediv>
<refname>svnlook proplist</refname>
@@ -5385,7 +5339,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.tree">
<refnamediv>
<refname>svnlook tree</refname>
@@ -5433,7 +5386,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.uuid">
<refnamediv>
<refname>svnlook uuid</refname>
@@ -5466,7 +5418,6 @@
</refsect1>
</refentry>
- <!-- ================================================================= -->
<refentry id="svn.ref.svnlook.c.youngest">
<refnamediv>
<refname>svnlook youngest</refname>
@@ -5500,7 +5451,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 4 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.ref.svnserve">
@@ -5521,6 +5472,7 @@
to apply. See <xref linkend="svn.serverconfig.svnserve"/> for details of
the <filename>svnserve.conf</filename> file.</para>
+ <!-- =============================================================== -->
<sect2 id="svn.ref.svnserve.sw">
<title><command>svnserve</command> Switches</title>
@@ -5657,7 +5609,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 5 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.ref.svnversion">
@@ -5785,7 +5737,7 @@
</sect1>
<!-- ================================================================= -->
- <!-- ======================== SECTION 6 ============================== -->
+ <!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.ref.mod_dav_svn">
More information about the svnbook-dev
mailing list