[svnbook] r4397 committed - Split the book into parks, and further split the ginormous Chapter 9...

svnbook at googlecode.com svnbook at googlecode.com
Tue Feb 5 15:52:12 CST 2013


Revision: 4397
Author:   cmpilato at gmail.com
Date:     Tue Feb  5 13:51:43 2013
Log:      Split the book into parks, and further split the ginormous  
Chapter 9
Reference into a bunch of smaller focused references.

* en/book/book.xml
   Add character entities for the new reference sections, and break the
   book up into distinct <part>s.

* en/book/styles.css
   Stylistic tweaks for TOCs.

* en/book/ch09-reference.xml
   Delete this, but divide its contents up into ...

* en/book/ref-davmodules.xml,
* en/book/ref-props.xml,
* en/book/ref-reposhooks.xml,
* en/book/ref-svn.xml,
* en/book/ref-svnadmin.xml,
* en/book/ref-svndumpfilter.xml,
* en/book/ref-svnlook.xml,
* en/book/ref-svnmucc.xml,
* en/book/ref-svnrdump.xml,
* en/book/ref-svnserve.xml,
* en/book/ref-svnsync.xml,
* en/book/ref-svnversion.xml
   ... all of these smaller, more focused <reference> files.

http://code.google.com/p/svnbook/source/detail?r=4397

Added:
  /trunk/en/book/ref-davmodules.xml
  /trunk/en/book/ref-props.xml
  /trunk/en/book/ref-reposhooks.xml
  /trunk/en/book/ref-svn.xml
  /trunk/en/book/ref-svnadmin.xml
  /trunk/en/book/ref-svndumpfilter.xml
  /trunk/en/book/ref-svnlook.xml
  /trunk/en/book/ref-svnmucc.xml
  /trunk/en/book/ref-svnrdump.xml
  /trunk/en/book/ref-svnserve.xml
  /trunk/en/book/ref-svnsync.xml
  /trunk/en/book/ref-svnversion.xml
Deleted:
  /trunk/en/book/ch09-reference.xml
Modified:
  /trunk/en/book/book.xml
  /trunk/en/book/styles.css

=======================================
--- /dev/null
+++ /trunk/en/book/ref-davmodules.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,490 @@
+<reference id="svn.ref.davmodules">
+  <title>Subversion Apache HTTP Server Module Reference</title>
+
+  <!-- ### TODO: partintro -->
+
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+
+    <refentry id="svn.ref.mod_dav_svn.conf">
+      <refnamediv>
+        <refname>mod_dav_svn</refname>
+        <refpurpose>Subversion service module for Apache HTTP
+          Server</refpurpose>
+      </refnamediv>
+
+      <refsect1 id="svn.ref.mod_dav_svn.conf.desc">
+        <title>Description</title>
+
+        <para>This section briefly describes each Subversion
+          Apache configuration directive.  For an in-depth
+          description of configuring Apache with Subversion, see <xref
+          linkend="svn.serverconfig.httpd"/>.</para>
+
+      </refsect1>
+
+      <refsect1 id="svn.ref.mod_dav_svn.conf.directives">
+        <title>Directives</title>
+
+        <para>These are the <filename>httpd.conf</filename> directives
+          that apply to <command>mod_dav_svn</command>:</para>
+
+        <variablelist>
+
+          <varlistentry>
+            <term><literal>DAV svn</literal></term>
+            <listitem>
+
+              <para>Must be included in any
+                <literal>Directory</literal> or
+                <literal>Location</literal> block for a Subversion
+                repository.  It tells <command>httpd</command> to use the  
Subversion
+                backend for <literal>mod_dav</literal> to handle all
+                requests.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNActivitiesDB
+              <replaceable>directory-path</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the location in the filesystem where the
+                activities database should be stored.  By default,
+                <command>mod_dav_svn</command> creates and uses a  
directory in the
+                repository
+                called <filename>dav/activities.d</filename>.  The
+                path specified with this option must be an absolute
+                path.</para>
+
+              <para>If specified for
+                an <literal>SVNParentPath</literal> area,  
<command>mod_dav_svn</command>
+                appends the basename of the repository to the path
+                specified here.  For example:</para>
+
+              <informalexample>
+          <screen>
+<Location /svn>
+  DAV svn
+
+  # any "/svn/foo" URL will map to a repository in
+  # /net/svn.nfs/repositories/foo
+  SVNParentPath         "/net/svn.nfs/repositories"
+
+  # any "/svn/foo" URL will map to an activities db in
+  #  /var/db/svn/activities/foo
+  SVNActivitiesDB       "/var/db/svn/activities"
+</Location>
+</screen>
+        </informalexample>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNAdvertiseV2Protocol On|Off</literal></term>
+            <listitem>
+
+              <para>New to Subversion 1.7, this toggles
+                whether <command>mod_dav_svn</command> advertises its
+                support for the new version of its HTTP protocol also
+                introduced in that version.  Most admins will not wish
+                to use this directive (which is <literal>On</literal>
+                by default), choosing instead to enjoy the performance
+                benefits that the new protocol offers.  However, whena
+                configuring a server as a write-through proxy to
+                another server which does not support the new
+                protocol, set this directive's value
+                to <literal>Off</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNAllowBulkUpdates On|Off</literal></term>
+            <listitem>
+
+              <para>Toggles support for all-inclusive
+                responses to update-style <literal>REPORT</literal>
+                requests.  Subversion clients use
+                <literal>REPORT</literal> requests to get information
+                about directory tree checkouts and updates from
+                <command>mod_dav_svn</command>.  They can ask the
+                server to send that information in one of two ways:
+                with the entirety of the tree's information in one
+                massive response, or with a
+                <firstterm>skelta</firstterm> (a skeletal
+                representation of a tree delta) which contains just
+                enough information for the client to know what
+                <emphasis>additional</emphasis> data to request from
+                the server.  When this directive is included with a
+                value of <literal>Off</literal>,
+                <command>mod_dav_svn</command> will only ever respond
+                to these <literal>REPORT</literal> requests with
+                skelta responses, regardless of the type of responses
+                requested by the client.</para>
+
+              <para>Most folks won't need to use this directive at
+                all.  It primarily exists for administrators who
+                wish—for security or auditing reasons—to
+                force Subversion clients to fetch individually all the
+                files and directories needed for updates and
+                checkouts, thus leaving an audit trail of
+                <literal>GET</literal> and <literal>PROPFIND</literal>
+                requests in Apache's logs.  The default value of this
+                directive is <literal>On</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><literal>SVNAutoversioning On|Off</literal></term>
+            <listitem>
+
+              <para>When its value is
+                <literal>On</literal>, allows write requests from
+                WebDAV clients to result in automatic commits.  A
+                generic log message is auto-generated and attached to
+                each revision.  If you enable autoversioning, you'll
+                likely want to set <literal>ModMimeUsePathInfo
+                On</literal> so that <literal>mod_mime</literal> can
+                set <literal>svn:mime-type</literal> to the correct
+                MIME type automatically (as best as
+                <literal>mod_mime</literal> is able to, of course).
+                For more information, see <xref
+                linkend="svn.webdav"/>.  The default value of this
+                directive is <literal>Off</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNCacheFullTexts On|Off</literal></term>
+            <listitem>
+
+              <para>When set to <literal>On</literal>, this tells
+                Subversion to cache content fulltexts if sufficient
+                in-memory cache is available, which could offer a
+                significant performance benefit to the server.  (See
+                also the <literal>SVNInMemoryCacheSize</literal>
+                directive.)  The default value of this directive
+                is <literal>Off</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><literal>SVNCacheTextDeltas On|Off</literal></term>
+            <listitem>
+
+              <para>When set to <literal>On</literal>, this tells
+                Subversion to cache content deltas if sufficient
+                in-memory cache is available, which could offer a
+                significant performance benefit to the server.  (See
+                also the <literal>SVNInMemoryCacheSize</literal>
+                directive.)  The default value of this directive
+                is <literal>Off</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNCompressionLevel
+              <replaceable>level</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the compression level used when sending
+                file content over the network.  A value
+                of <literal>0</literal> disables compression
+                altogether, and <literal>9</literal> is the maximum
+                value.  <literal>5</literal> is the default
+                value.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNIndexXSLT
+              <replaceable>directory-path</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the URI of an XSL transformation for
+                directory indexes.  This directive is optional.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNInMemoryCacheSize
+              <replaceable>size</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the maximum size (in kbytes) per process
+                of Subversion's in-memory object cache.  The default
+                value is <literal>16384</literal>; use a value
+                of <literal>0</literal> to deactivate this cache
+                altogether.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNListParentPath On|Off</literal></term>
+            <listitem>
+
+              <para>When set to <literal>On</literal>, allows
+                a <literal>GET</literal>
+                of <literal>SVNParentPath</literal>, which results in
+                a listing of all repositories under that path.  The
+                default setting is
+                <literal>Off</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNMasterURI
+              <replaceable>url</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies a URI to the master Subversion
+                repository (used for a write-through proxy).</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNParentPath
+              <replaceable>directory-path</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the location in the filesystem of a
+                parent directory whose child directories are
+                Subversion repositories.  In a configuration block for
+                a Subversion repository, either this directive or
+                <literal>SVNPath</literal> must be present, but not
+                both.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNPath
+              <replaceable>directory-path</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the location in the
+                filesystem for a Subversion repository's files.  In a
+                configuration block for a Subversion repository,
+                either this directive or
+                <literal>SVNParentPath</literal> must be present, but
+                not both.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNPathAuthz On|Off| 
short_circuit</literal></term>
+            <listitem>
+
+              <para>Controls path-based authorization by enabling
+                subrequests (<literal>On</literal>), disabling
+                subrequests (<literal>Off</literal>; see <xref
+                linkend="svn.serverconfig.httpd.authz.pathauthzoff"/>),
+                or querying <command>mod_authz_svn</command> directly
+                (<literal>short_circuit</literal>).  The default
+                value of this directive is <literal>On</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNReposName
+              <replaceable>name</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the name of a Subversion repository for
+                use in <literal>HTTP GET</literal> responses.  This
+                value will be prepended to the title of all directory
+                listings (which are served when you navigate to a
+                Subversion repository with a web browser).  This
+                directive is optional.</para>
+
+               <note>
+                 <para>Subversion will not use the repository name as
+                   configured via this directive when trying to match
+                   rules in access control files.  The repository names
+                   used in that file's syntax are always derived from
+                   the repository URL.  See
+                   <xref  
linkend="svn.serverconfig.pathbasedauthz.getting-started"
+                   /> for details.</para>
+               </note>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNSpecialURI
+              <replaceable>component</replaceable></literal></term>
+            <listitem>
+
+              <para>Specifies the URI component (namespace) for
+                special Subversion resources.  The default is
+                <literal>!svn</literal>, and most
+                administrators will never use this directive.  Set
+                this only if there is a pressing need to have a file
+                named <filename>!svn</filename> in your repository.
+                If you change this on a server already in use, it will
+                break all of the outstanding working copies, and your
+                users will hunt you down with pitchforks and flaming
+                torches.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>SVNUseUTF8 On|Off</literal></term>
+            <listitem>
+
+              <para>When set to <literal>On</literal>,
+                <command>mod_dav_svn</command> will communicate with
+                hook scripts using repository root paths encoded in
+                UTF-8, and will expect those scripts to likewise
+                generate output (such as error messages) encoded in
+                UTF-8.  The default value of this option
+                is <literal>Off</literal>, which means
+                that <command>mod_dav_svn</command> assumes a 7-bit
+                ASCII encoding for its hook script interactions.  This
+                option is available as of Subversion 1.8.</para>
+
+              <note>
+                <para>Administrators should ensure that the character
+                  set and encoding expectations of hook scripts match
+                  all the ways they might be invoked.  For example, if
+                  one repository is served by both <command>httpd</command>
+                  and <command>svnserve</command>,  
<command>svnserve</command>
+                  should also be configured to use UTF-8 (by setting
+                  an appropriate locale in its environment) if this
+                  option is enabled for <command>mod_dav_svn</command>.
+                  Also, local filesystem paths containing non-ASCII
+                  characters which will be accessed by those scripts
+                  (such as repository root paths) must be properly
+                  encoded in the filesystem to match the scripts'
+                  expectations.</para>
+              </note>
+
+            </listitem>
+          </varlistentry>
+
+        </variablelist>
+      </refsect1>
+    </refentry>
+
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+    <refentry id="svn.ref.mod_authz_svn.conf">
+      <refnamediv>
+        <refname>mod_authz_svn</refname>
+        <refpurpose>Subversion path-based authorization module for
+          Apache HTTP Server</refpurpose>
+      </refnamediv>
+
+      <refsect1 id="svn.ref.mod_authz_svn.conf.desc">
+        <title>Description</title>
+
+        <para>This section briefly describes each Apache configuration
+          directive offered by <command>mod_authz_svn</command>.  For
+          an in-depth description of using path-based authorization in
+          Subversion, see <xref  
linkend="svn.serverconfig.pathbasedauthz"/>.</para>
+
+      </refsect1>
+
+      <refsect1 id="svn.ref.mod_authz_svn.conf.directives">
+        <title>Directives</title>
+
+        <para>These are the <filename>httpd.conf</filename> directives
+          that apply to <command>mod_authz_svn</command>:</para>
+
+        <variablelist>
+
+          <varlistentry>
+            <term><literal>AuthzForceUsernameCase Upper| 
Lower</literal></term>
+            <listitem>
+
+              <para>Set to <literal>Upper</literal>
+                or <literal>Lower</literal> to perform case conversion
+                of the specified sort on the authenticated username
+                before checking it for authorization.  While usernames
+                are compared in a case-sensitive fashion against those
+                referenced in the authorization rules file, this
+                directive can at least normalize variably-cased
+                usernames into something consistent.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>AuthzSVNAccessFile
+              <replaceable>file-path</replaceable></literal></term>
+            <listitem>
+
+              <para>Consult <replaceable>file-path</replaceable> for
+                access rules describing the permissions for paths in
+                Subversion repository.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>AuthzSVNAnonymous On|Off</literal></term>
+            <listitem>
+
+              <para>Set to <literal>Off</literal> to disable two
+                special-case behaviours of this module: interaction
+                with the <literal>Satisfy Any</literal> directive and
+                enforcement of the authorization policy even when no
+                <literal>Require</literal> directives are present.
+                The default value of this directive is
+                <literal>On</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>AuthzSVNAuthoritative On|Off</literal></term>
+            <listitem>
+
+              <para>Set to <literal>Off</literal> to allow access
+                control to be passed along to lower modules.  The
+                default value of this directive is
+                <literal>On</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>AuthzSVNNoAuthWhenAnonymousAllowed On| 
Off</literal></term>
+            <listitem>
+
+              <para>Set to <literal>On</literal> to suppress
+                authentication and authorization for requests which
+                anonymous users are allowed to perform.  The default
+                value of this directive is
+                <literal>On</literal>.</para>
+
+            </listitem>
+          </varlistentry>
+
+        </variablelist>
+      </refsect1>
+
+    </refentry>
+
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-props.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,345 @@
+<reference id="svn.ref.properties">
+  <title>Subversion Property Reference</title>
+
+  <partintro>
+
+    <para>Subversion uses properties—bits of metadata that are
+      stored along the user's versioned data but are not strictly part
+      of it—to provide a number of built-in behaviors and
+      features, and to offer users a place to stash out-of-band
+      information regarding their versioned data and the changes made
+      to it.  Subversion allows users to invent arbitrarily named
+      versioned properties on files and directories, as well as
+      unversioned properties on revisions.  The only restriction is on
+      properties whose names begin with <literal>svn:</literal> (those
+      are reserved for Subversion's own use).  While these properties
+      may be set by users to control Subversion's behavior, users may
+      not invent new <literal>svn:</literal> properties.</para>
+
+    <para>This reference describes the built-in properties which
+      toggle or otherwise support Subversion features.</para>
+
+  </partintro>
+
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.properties.versioned-props">
+      <refnamediv>
+        <refname>Versioned Properties</refname>
+        <refpurpose>Properties associated with versioned files and
+          directories</refpurpose>
+      </refnamediv>
+
+      <refsect1 id="svn.ref.properties.versioned-props.list">
+        <title>Properties</title>
+
+
+      <para>These are the versioned properties that Subversion reserves
+        for its own use:</para>
+
+      <variablelist>
+
+        <varlistentry>
+          <term><literal>svn:auto-props</literal></term>
+          <listitem>
+
+            <para>If present on a directory, the value is a set of
+            automatic property definitions which apply to all files
+            under the directory,  See
+              <xref
+              linkend="svn.advanced.props.auto"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:executable</literal></term>
+          <listitem>
+
+            <para>If present on a file, the client will make the
+              file executable in Unix-hosted working copies.  See
+              <xref
+              linkend="svn.advanced.props.special.executable"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:mime-type</literal></term>
+          <listitem>
+
+            <para>If present on a file, the value indicates the
+              file's MIME type.  This allows the client to decide
+              whether line-based contextual merging is safe to
+              perform during updates, and can also affect how the
+              file behaves when fetched via a web browser.  See
+              <xref
+              linkend="svn.advanced.props.special.mime-type"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:ignore</literal></term>
+          <listitem>
+
+            <para>If present on a directory, the value is a list of
+              <emphasis>unversioned</emphasis> file patterns to be ignored
+              by <command>svn status</command> and other
+              subcommands.  See
+              <xref
+              linkend="svn.advanced.props.special.ignore"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:global-ignores</literal></term>
+          <listitem>
+
+            <para>If present on a directory, the value is a list of
+              <emphasis>unversioned</emphasis> file patterns to be ignored
+              by <command>svn status</command> and other
+              subcommands.  Unlike <literal>svn:ignore</literal>
+              these patterns apply to <emphasis>all</emphasis>
+              unversioned subtrees under the directory, not just the
+              directory's immediate file children.  See
+              <xref
+              linkend="svn.advanced.props.special.ignore"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:keywords</literal></term>
+          <listitem>
+
+            <para>If present on a file, the value tells the client
+              how to expand particular keywords within the file.
+              See
+              <xref
+              linkend="svn.advanced.props.special.keywords"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:eol-style</literal></term>
+          <listitem>
+
+            <para>If present on a file, the value tells the client how
+              to manipulate the file's line-endings in the working
+              copy and in exported trees.  See <xref
+              linkend="svn.advanced.props.special.eol-style"/> and
+              <xref linkend="svn.ref.svn.c.export" /> earlier in this  
chapter.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:externals</literal></term>
+          <listitem>
+
+            <para>If present on a directory, the value is a multiline
+              list of other paths and URLs the client should check
+              out.  See
+              <xref linkend="svn.advanced.externals"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:special</literal></term>
+          <listitem>
+
+            <para>If present on a file, indicates that the file is not
+              an ordinary file, but a symbolic link or other special
+              object.<footnote><para>As of this writing, symbolic
+              links are indeed the only <quote>special</quote>
+              objects.  But there might be more in future releases of
+              Subversion.</para></footnote></para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:needs-lock</literal></term>
+          <listitem>
+
+            <para>If present on a file, tells the client to make the
+              file read-only in the working copy, as a reminder that
+              the file should be locked before editing begins.  See
+              <xref
+              linkend="svn.advanced.locking.lock-communication"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:mergeinfo</literal></term>
+          <listitem>
+
+            <para>Used by Subversion to track merge data.  See
+              <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/>
+              for details, but you should never edit this property
+              unless you <emphasis>really</emphasis> know what you're
+              doing.</para>
+
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+    </refsect1>
+  </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.properties.unversioned-props">
+      <refnamediv>
+        <refname>Unversioned (Revision) Properties</refname>
+        <refpurpose>Properties associated with global Subversion
+          revisions</refpurpose>
+      </refnamediv>
+
+    <refsect1 id="svn.ref.properties.unversioned-props.list">
+      <title>Properties</title>
+
+      <para>These are the unversioned properties that Subversion reserves
+        for its own use:</para>
+
+      <variablelist>
+
+        <varlistentry>
+          <term><literal>svn:author</literal></term>
+          <listitem>
+
+            <para>If present, contains the authenticated username of
+              the person who created the revision.  (If not present,
+              the revision was committed anonymously.)</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:autoversioned</literal></term>
+          <listitem>
+
+            <para>If present, the revision was created via the
+              autoversioning feature.  See
+              <xref linkend="svn.webdav.autoversioning"/>.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:date</literal></term>
+          <listitem>
+
+            <para>Contains the UTC time the revision was created, in
+              ISO 8601 format.  The value comes from the
+              <emphasis>server</emphasis> machine's clock, not the
+              client's.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:log</literal></term>
+          <listitem>
+
+            <para>Contains the log message describing the
+              revision.</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:rdump-lock</literal></term>
+          <listitem>
+
+            <para>Used to temporarily enforce mutually exclusive
+              access to the repository by <command>svnrdump
+              load</command>.  This property is generally only
+              observed when such an operation is active—or when
+              an <command>svnrdump</command> command failed to cleanly
+              disconnect from the repository.  (This property is only
+              relevant when it appears on revision 0.)</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:sync-currently-copying</literal></term>
+          <listitem>
+
+            <para>Contains the revision number from the source
+              repository which is currently being mirrored to this one
+              by the <command>svnsync</command> tool.  (This property
+              is only relevant when it appears on revision 0.)</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:sync-from-uuid</literal></term>
+          <listitem>
+
+            <para>Contains the UUID of the repository of which this
+              repository has been initialized as a mirror by
+              the <command>svnsync</command> tool.  (This property is
+              only relevant when it appears on revision 0.)</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:sync-from-url</literal></term>
+          <listitem>
+
+            <para>Contains the URL of the repository directory of
+              which this repository has been initialized as a mirror
+              by the <command>svnsync</command> tool.  (This property
+              is only relevant when it appears on revision 0.)</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:sync-last-merged-rev</literal></term>
+          <listitem>
+
+            <para>Contains the revision of the source repository which
+              was most recently and successfully mirrored to this one.
+              (This property is only relevant when it appears on
+              revision 0.)</para>
+
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><literal>svn:sync-lock</literal></term>
+          <listitem>
+
+            <para>Used to temporarily enforce mutually exclusive
+              access to the repository by <command>svnsync</command>
+              mirroring operations.  This property is generally only
+              observed when such an operation is active—or when
+              an <command>svnsync</command> command failed to cleanly
+              disconnect from the repository.  (This property is
+              only relevant when it appears on revision 0.)</para>
+
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+    </refsect1>
+  </refentry>
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-reposhooks.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,616 @@
+<reference id="svn.ref.reposhooks">
+  <title>Subversion Repository Hook Reference</title>
+
+  <!-- ### TODO: partintro -->
+
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.start-commit">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>start-commit</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>start-commit</refname>
+        <refpurpose>Notification of the beginning of a commit.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The start-commit hook is run before the commit
+          transaction is even created.  It is typically used to
+          decide whether the user has commit privileges at all.</para>
+
+        <para>If the start-commit hook program returns a nonzero exit
+          value, the commit is stopped before the commit transaction
+          is even created, and anything printed to  
<filename>stderr</filename> is
+          marshalled back to the client.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input Parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Authenticated username attempting the commit</para>
+          </listitem>
+          <listitem>
+            <para>Colon-separated list of
+              capabilities that a client passes to the server,
+              including <literal>depth</literal>,
+              <literal>mergeinfo</literal>, and
+              <literal>log-revprops</literal> (new in Subversion  
1.5).</para>
+          </listitem>
+        </orderedlist>
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+
+        <para>Access control (e.g., temporarily lock out commits for
+          some reason).</para>
+
+        <para>A means to allow access only from clients that have
+          certain capabilities.</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.pre-commit">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>pre-commit</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>pre-commit</refname>
+        <refpurpose>Notification just prior to commit  
completion.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>pre-commit</literal> hook is run just
+          before a commit transaction is promoted to a new revision.
+          Typically, this hook is used to protect against commits that
+          are disallowed due to content or location (e.g., your
+          site might require that all commits to a certain branch
+          include a ticket number from the bug tracker, or that the
+          incoming log message is nonempty).</para>
+
+        <para>If the <literal>pre-commit</literal> hook program
+          returns a nonzero exit value, the commit is aborted, the
+          commit transaction is removed, and anything printed to
+          <filename>stderr</filename> is marshalled back to the  
client.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Commit transaction name</para>
+          </listitem>
+        </orderedlist>
+
+        <para>Additionally, Subversion passes any lock tokens provided
+          by the committing client to the hook script via standard
+          input.  When present, these are formatted as a single line
+          containing the string <literal>LOCK-TOKENS:</literal>,
+          followed by additional lines—one per lock
+          token—which contain the lock token information.  Each
+          lock token information line consists of the URI-escaped
+          repository filesystem path associated with the lock,
+          followed by the pipe (<literal>|</literal>) separator
+          character, and finally the lock token string.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Change validation and control</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.post-commit">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>post-commit</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>post-commit</refname>
+        <refpurpose>Notification of a successful commit.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>post-commit</literal> hook is run after the
+          transaction is committed and a new revision is created.  Most
+          people use this hook to send out descriptive emails about
+          the commit or to notify some other tool (such as an issue
+          tracker) that a commit has happened.  Some configurations
+          also use this hook to trigger backup processes.</para>
+
+        <para>If the <literal>post-commit</literal> hook returns a
+          nonzero exit status, the commit <emphasis>will
+          not</emphasis> be aborted since it has already
+          completed.  However, anything that the hook printed
+          to <filename>stderr</filename> will be marshalled back to the
+          client, making it easier to diagnose hook failures.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Revision number created by the commit</para>
+          </listitem>
+        </orderedlist>
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Commit notification; tool integration</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.pre-revprop-change">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>pre-revprop-change</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>pre-revprop-change</refname>
+        <refpurpose>Notification of a revision property change
+          attempt.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>pre-revprop-change</literal> hook is run
+          immediately prior to the modification of a revision property
+          when performed outside the scope of a normal commit.  Unlike
+          the other hooks, the default state of this one is to deny
+          the proposed action.  The hook must actually exist and
+          return a zero exit value before a revision property
+          modification can happen.</para>
+
+        <para>If the <literal>pre-revprop-change</literal> hook
+          doesn't exist, isn't executable, or returns a nonzero exit
+          value, no change to the property will be made, and anything
+          printed to <filename>stderr</filename> is marshalled back to the  
client.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Revision whose property is about to be modified</para>
+          </listitem>
+          <listitem>
+            <para>Authenticated username attempting the property  
change</para>
+          </listitem>
+          <listitem>
+            <para>Name of the property changed</para>
+          </listitem>
+          <listitem>
+            <para>Change description: <literal>A</literal> (added),
+              <literal>D</literal> (deleted), or <literal>M</literal>
+              (modified)</para>
+          </listitem>
+        </orderedlist>
+
+        <para>Additionally, Subversion passes the intended new value
+           of the property to the hook program via standard
+           input.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Access control; change validation and control</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.post-revprop-change">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>post-revprop-change</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>post-revprop-change</refname>
+        <refpurpose>Notification of a successful revision property
+          change.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>post-revprop-change</literal> hook is run
+          immediately after the modification of a revision property
+          when performed outside the scope of a normal commit.  As you can
+          derive from the description of its counterpart, the
+          <literal>pre-revprop-change</literal> hook, this hook will
+          not run at all unless
+          the <literal>pre-revprop-change</literal> hook is
+          implemented.  It is typically used to send email
+          notification of the property change.</para>
+
+        <para>If the <literal>post-revprop-change</literal> hook returns a
+          nonzero exit status, the change <emphasis>will
+          not</emphasis> be aborted since it has already
+          completed.  However, anything that the hook printed
+          to <filename>stderr</filename> will be marshalled back to the
+          client, making it easier to diagnose hook failures.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Revision whose property was modified</para>
+          </listitem>
+          <listitem>
+            <para>Authenticated username of the person making the  
change</para>
+          </listitem>
+          <listitem>
+            <para>Name of the property changed</para>
+          </listitem>
+          <listitem>
+            <para>Change description: <literal>A</literal> (added),
+              <literal>D</literal> (deleted), or <literal>M</literal>
+              (modified)</para>
+          </listitem>
+        </orderedlist>
+
+        <para>Additionally, Subversion passes to the hook program, via
+          standard input, the previous value of the property.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Property change notification</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.pre-lock">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>pre-lock</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>pre-lock</refname>
+        <refpurpose>Notification of a path lock attempt.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>pre-lock</literal> hook runs whenever
+          someone attempts to lock a path.  It can be used to prevent
+          locks altogether or to create a more complex policy
+          specifying exactly which users are allowed to lock
+          particular paths.  If the hook notices a preexisting lock,
+          it can also decide whether a user is allowed
+          to <quote>steal</quote> the existing lock.</para>
+
+        <para>If the <literal>pre-lock</literal> hook program returns
+          a nonzero exit value, the lock action is aborted and
+          anything printed to <filename>stderr</filename> is
+          marshalled back to the client.</para>
+
+        <para>The hook program may optionally dictate the lock token
+          which will be assigned to the lock by printing the desired
+          lock token to standard output.  Because of this,
+          implementations of this hook should carefully avoid
+          unexpected output sent to standard output.</para>
+
+        <warning>
+          <para>If the <literal>pre-lock</literal> script takes
+            advantage of lock token dictation feature, the
+            responsibility of generating a <emphasis>unique</emphasis>
+            lock token falls to the script itself.  Failure to
+            generate unique lock tokens may result in
+            undefined—and very likely,
+            undesired—behavior.</para>
+        </warning>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Versioned path that is to be locked</para>
+          </listitem>
+          <listitem>
+            <para>Authenticated username of the person attempting the
+              lock</para>
+          </listitem>
+          <listitem>
+            <para>Comment provided when the lock was created</para>
+          </listitem>
+          <listitem>
+            <para><literal>1</literal> if the user is attempting to
+              steal an existing lock; <literal>0</literal>
+              otherwise</para>
+          </listitem>
+        </orderedlist>
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Access control</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.post-lock">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>post-lock</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>post-lock</refname>
+        <refpurpose>Notification of a successful path lock.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>post-lock</literal> hook runs after one or
+          more paths have been locked.  It is typically used to send
+          email notification of the lock event.</para>
+
+        <para>If the <literal>post-lock</literal> hook returns a
+          nonzero exit status, the lock <emphasis>will
+          not</emphasis> be aborted since it has already
+          completed.  However, anything that the hook printed
+          to <filename>stderr</filename> will be marshalled back to the
+          client, making it easier to diagnose hook failures.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Authenticated username of the person who locked the
+              paths</para>
+          </listitem>
+        </orderedlist>
+
+        <para>Additionally, the list of paths locked is passed to the
+          hook program via standard input, one path per line.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Lock notification</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.pre-unlock">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>pre-unlock</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>pre-unlock</refname>
+        <refpurpose>Notification of a path unlock attempt.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>pre-unlock</literal> hook runs whenever
+          someone attempts to remove a lock on a file.  It can be used
+          to create policies that specify which users are allowed to
+          unlock particular paths.  It's particularly important for
+          determining policies about lock breakage.  If user A locks a
+          file, is user B allowed to break the lock?  What if the lock
+          is more than a week old?  These sorts of things can be
+          decided and enforced by the hook.</para>
+
+        <para>If the <literal>pre-unlock</literal> hook program
+          returns a nonzero exit value, the unlock action is aborted
+          and anything printed to <filename>stderr</filename> is  
marshalled back to the
+          client.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Versioned path which is to be unlocked</para>
+          </listitem>
+          <listitem>
+            <para>Authenticated username of the person attempting the
+              unlock</para>
+          </listitem>
+          <listitem>
+            <para>Lock token associated with the lock which is to be
+              removed</para>
+          </listitem>
+          <listitem>
+            <para><literal>1</literal> if the user is attempting to
+              break the lock; <literal>0</literal> otherwise</para>
+          </listitem>
+        </orderedlist>
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Access control</para>
+      </refsect1>
+
+    </refentry>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.reposhooks.post-unlock">
+
+      <indexterm>
+        <primary>repository</primary>
+        <secondary>hooks</secondary>
+        <tertiary>post-unlock</tertiary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>post-unlock</refname>
+        <refpurpose>Notification of a successful path unlock.</refpurpose>
+      </refnamediv>
+
+      <refsect1>
+        <title>Description</title>
+
+        <para>The <literal>post-unlock</literal> hook runs after one
+          or more paths have been unlocked.  It is typically used to
+          send email notification of the unlock event.</para>
+
+        <para>If the <literal>post-unlock</literal> hook returns a
+          nonzero exit status, the unlock <emphasis>will
+          not</emphasis> be aborted since it has already
+          completed.  However, anything that the hook printed
+          to <filename>stderr</filename> will be marshalled back to the
+          client, making it easier to diagnose hook failures.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Input parameter(s)</title>
+
+        <para>The command-line arguments passed to the hook program,
+          in order, are:</para>
+
+        <orderedlist>
+          <listitem>
+            <para>Repository path</para>
+          </listitem>
+          <listitem>
+            <para>Authenticated username of the person who unlocked the
+              paths</para>
+          </listitem>
+        </orderedlist>
+
+        <para>Additionally, the list of paths unlocked is passed to the
+          hook program via standard input, one path per line.</para>
+
+      </refsect1>
+
+      <refsect1>
+        <title>Common uses</title>
+        <para>Unlock notification</para>
+      </refsect1>
+
+    </refentry>
+
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svn.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,6429 @@
+<reference id="svn.ref.svn">
+  <title>svn Reference—Subversion Command-Line Client</title>
+
+  <partintro>
+    <para><command>svn</command> is the official command-line client
+      of Subversion.  Its functionality is offered via a collection of
+      task-specific subcommands, most of which accept a number of
+      options for fine-grained control of the program's
+      behavior.</para>
+
+    <para>When using the <command>svn</command> program, subcommands
+      and other non-option arguments must appear in a specified order
+      on the command line.  Options, on the other hand, may appear
+      anywhere on the command line (after the program name, of
+      course), and in general, their order is irrelevant.  For
+      example, all of the following are valid ways to use <command>svn
+      status</command>, and are interpreted in exactly the same
+      way:</para>
+
+    <informalexample>
+      <screen>
+$ svn -vq status myfile
+$ svn status -v -q myfile
+$ svn -q status -v myfile
+$ svn status -vq myfile
+$ svn status myfile -qv
+</screen>
+    </informalexample>
+
+    <para>The following sections describe each of the various
+      subcommands and options provided by the <command>svn</command>
+      command-line client program, including some examples of each
+      subcommand's typical uses.</para>
+
+      <para>While Subversion has different options for its
+        subcommands, all options exist in a single
+        namespace—that is, each option is guaranteed to mean the
+        roughly same thing regardless of the subcommand you use it
+        with.  For example, <option>--verbose</option>
+        (<option>-v</option>) always means <quote>verbose
+        output,</quote> regardless of the subcommand you use it
+        with.</para>
+
+      <para>The <command>svn</command> command-line client usually
+        exits quickly with an error if you pass it an option which
+        does not apply to the specified subcommand.  But as of
+        Subversion 1.5, several of the options which apply to
+        all—or nearly all—of the subcommands have been
+        deemed acceptable by all subcommands, even if they have no
+        effect on some of them.  (This change was made primarily to
+        improve the client's ability to called from custom wrapping
+        scripts.)  These options appear grouped together in the
+        command-line client's usage messages as global options, as can
+        be seen in the following bit of output:</para>
+
+      <informalexample>
+        <screen>
+$ svn help upgrade
+upgrade: Upgrade the metadata storage format for a working copy.
+usage: upgrade [WCPATH...]
+
+  Local modifications are preserved.
+
+Valid options:
+  -q [--quiet]             : print nothing, or only summary information
+
+Global options:
+  --username ARG           : specify a username ARG
+  --password ARG           : specify a password ARG
+  --no-auth-cache          : do not cache authentication tokens
+  --non-interactive        : do no interactive prompting
+  --trust-server-cert      : accept SSL server certificates from unknown
+                             certificate authorities without prompting  
(but only
+                             with '--non-interactive')
+  --config-dir ARG         : read user configuration files from directory  
ARG
+  --config-option ARG      : set user configuration option in the format:
+                                 FILE:SECTION:OPTION=[VALUE]
+                             For example:
+                                 servers:global:http-library=serf
+$
+</screen>
+      </informalexample>
+
+      <para><command>svn</command> subcommands recognize the following
+        global options:</para>
+
+      <variablelist id="svn.ref.svn.sw">
+
+        <varlistentry id="svn.ref.svn.sw.config_dir">
+          <term><option>--config-dir</option>  
<replaceable>DIR</replaceable></term>
+          <listitem>
+            <para>Instructs Subversion to read configuration
+              information from the specified directory instead of the
+              default location (<filename>.subversion</filename> in
+              the user's home directory).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.config_option">
+          <term><option>--config-option</option>  
<replaceable>CONFSPEC</replaceable></term>
+          <listitem>
+            <para>Sets, for the duration of the command, the value of
+              a runtime configuration
+              option.  <replaceable>CONFSPEC</replaceable> is a string
+              which specifies the configuration option namespace, name
+              and value that you'd like to assign, formatted as
+               
<replaceable>FILE</replaceable>:<replaceable>SECTION</replaceable>:<replaceable>OPTION</replaceable>=[<replaceable>VALUE</replaceable>].
+              In this syntax, <replaceable>FILE</replaceable>
+              and <replaceable>SECTION</replaceable> are the runtime
+              configuration file (either <literal>config</literal>
+              or <literal>servers</literal>) and the section thereof,
+              respectively, which contain the option whose value you
+              wish to change.  <replaceable>OPTION</replaceable> is,
+              of course, the option itself,
+              and <replaceable>VALUE</replaceable> the value (if any)
+              you wish to assign to the option.  For example, to
+              temporarily disable the use of the automatic property
+              setting feature,
+              use  
<option>--config-option=config:miscellany:enable-auto-props=no</option>.
+              You can use this option multiple times to change
+              multiple option values simultaneously.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.no_auth_cache">
+          <term><option>--no-auth-cache</option></term>
+          <listitem>
+            <para>Prevents caching of authentication information
+              (e.g., username and password) in the Subversion
+              runtime configuration directories.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.non_interactive">
+          <term><option>--non-interactive</option></term>
+          <listitem>
+            <para>Disables all interactive prompting.  Some examples
+              of interactive prompting include requests for
+              authentication credentials and conflict resolution
+              decisions.  This is useful if you're running Subversion
+              inside an automated script and it's more appropriate
+              to have Subversion fail than to prompt for more
+              information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.password">
+          <term><option>--password</option>  
<replaceable>PASSWD</replaceable></term>
+          <listitem>
+            <para>Specifies the password to use when authenticating
+              against a Subversion server.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.trust_server_cert">
+          <term><option>--trust-server-cert</option></term>
+          <listitem>
+            <para>When used with <option>--non-interactive</option>,
+              instructs Subversion to accept SSL server certificates
+              issued by unknown certificate authorities without first
+              prompting the user.  For security's sake, you should use
+              this option only when the integrity of the remote server
+              and the network path between it and your client is known
+              to be trustworthy.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.username">
+          <term><option>--username</option>  
<replaceable>NAME</replaceable></term>
+          <listitem>
+            <para>Specifies the username to use when authenticating
+              against a Subversion server.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+      <para>The rest of the options apply and are accepted by only a
+        subset of the subcommand.  They are as follows:</para>
+
+      <variablelist>
+
+        <varlistentry id="svn.ref.svn.sw.accept">
+          <term><option>--accept</option>  
<replaceable>ACTION</replaceable></term>
+          <listitem>
+            <para>Specifies an action for automatic conflict
+              resolution, disabling the interactive prompts which ask
+              the user how to handle each conflict as it is noticed.
+              Though which of the specific actions are applicable
+              differs depending on which subcommand is in use,
+              Subversion supports the following long (and short)
+              values for <replaceable>ACTION</replaceable>:</para>
+            <variablelist>
+              <varlistentry>
+                <term><literal>postpone</literal>
+                  (<literal>p</literal>)</term>
+                <listitem>
+                  <para>Take no resolution action at all and instead
+                    allow the conflicts to be recorded for future
+                    resolution.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>edit</literal>
+                  (<literal>e</literal>)</term>
+                <listitem>
+                  <para>Open each conflicted file in a text editor for
+                    manual resolution of line-based conflicts.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>launch</literal>
+                  (<literal>l</literal>)</term>
+                <listitem>
+                  <para>Launch an interactive merge conflict
+                    resolution tool for each conflicted file.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>base</literal></term>
+                <listitem>
+                  <para>Choose the file that was the (unmodified)
+                    <literal>BASE</literal> revision before you tried
+                    to integrate changes from the server into
+                    your working copy.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>working</literal></term>
+                <listitem>
+                  <para>Assuming that you've manually handled the
+                    conflict resolution, choose the version of the file
+                    as it currently stands in your working copy.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>mine-full</literal>
+                  (<literal>mf</literal>)</term>
+                <listitem>
+                  <para>Resolve conflicted files by preserving all
+                    local modifications and discarding all changes
+                    fetched from the server during the operation which
+                    caused the conflict.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>theirs-full</literal>
+                  (<literal>tf</literal>)</term>
+                <listitem>
+                  <para>Resolve conflicted files by discarding all
+                    local modifications and integrating all changes
+                    fetched from the server during the operation which
+                    caused the conflict.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>mine-conflict</literal>
+                  (<literal>mc</literal>)</term>
+                <listitem>
+                  <para>Resolve conflicted files by preferring local
+                    modifications over the changes fetched from the
+                    server in conflicting regions of each file's
+                    content.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>theirs-conflict</literal>
+                  (<literal>tc</literal>)</term>
+                <listitem>
+                  <para>Resolve conflicted files by preferring the
+                    changes fetched from the server over local
+                    modifications in conflicting regions of each file's
+                    content.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+            <para>Consult the output of <command>svn help
+              <replaceable>SUBCOMMAND</replaceable></command> to see
+              exactly which actions are supported by the specific
+              subcommand of interest.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.allow_mixed_revisions">
+          <term><option>--allow-mixed-revisions</option></term>
+          <listitem>
+            <para>Disables the verification—performed by default
+              by <command>svn merge</command> as of Subversion
+              1.7—that the target of a merge operation and all
+              of its children are at a uniform revision.  While
+              merging into a single-revision working copy target is
+              the recommended best practice, this option may be used
+              to permit merges into mixed-revision working copies as
+              necessary.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.auto_props">
+          <term><option>--auto-props</option></term>
+          <listitem>
+            <para>Enables automatic property assignment (per runtime
+              configuration rules), overriding the
+              <literal>enable-auto-props</literal> runtime
+              configuration directive.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.change">
+          <term><option>--change</option> (<option>-c</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Perform the requested operation using a specific
+              <quote>change</quote>.  Generally speaking, this option
+              is syntactic sugar for <userinput>-r
+               
<replaceable>ARG-1</replaceable>:<replaceable>ARG</replaceable></userinput>.
+              Some subcommands permit a comma-separated list of
+              revision number arguments (e.g., <userinput>-c
+               
<replaceable>ARG1</replaceable>,<replaceable>ARG2</replaceable>,<replaceable>ARG3</replaceable></userinput>).
+              Alternatively, you can provide two arguments separated
+              by a dash (as
+              in <userinput>-c  
<replaceable>ARG1</replaceable>-<replaceable>ARG2</replaceable></userinput>)
+              to identify the range of revisions
+              between <replaceable>ARG1</replaceable>
+              and <replaceable>ARG2</replaceable>, inclusive.
+              Finally, if the revision argument is negated, the
+              implied revision range is reversed: <userinput>-c
+              -45</userinput> is equivalent to <userinput>-r
+              45:44</userinput>.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.changelist">
+          <term><option>--changelist</option> (<option>--cl</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Instructs Subversion to operate only on members of the  
changelist named
+              <replaceable>ARG</replaceable>.  You can use this option
+              multiple times to specify sets of changelists.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.depth">
+          <term><option>--depth</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Instructs Subversion to limit the scope of an
+              operation to a particular tree
+              depth.  <replaceable>ARG</replaceable> is one of
+              <literal>empty</literal> (only the target
+              itself), <literal>files</literal> (the target and any
+              immediate file children thereof),
+              <literal>immediates</literal> (the target and any
+              immediate children thereof), or
+              <literal>infinity</literal> (the target and all of its
+              descendants—full recursion).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.diff">
+          <term><option>--diff</option></term>
+          <listitem>
+            <para>Enables a special output mode for <command>svn
+              log</command> which includes a difference report (a
+              la <command>svn diff</command>) as part of each
+              revision's information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.diff_cmd">
+          <term><option>--diff-cmd</option>  
<replaceable>CMD</replaceable></term>
+          <listitem>
+            <para>Specifies an external program to use to show
+              differences between files.  When <command>svn
+              diff</command> is invoked without this option, it uses
+              Subversion's internal differencing engine, which provides
+              unified diffs by default.  If you want to use an
+              external differencing program, use  
<option>--diff-cmd</option>.
+              You can then pass options to the specified program using the
+              <option>--extensions</option> (<option>-x</option>)
+              option.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.diff3_cmd">
+          <term><option>--diff3-cmd</option>  
<replaceable>CMD</replaceable></term>
+          <listitem>
+            <para>Specifies an external 3-way differencing program
+              (used to merge line-based changes into files).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.dry_run">
+          <term><option>--dry-run</option></term>
+          <listitem>
+            <para>Goes through all the motions of running a command,
+              but makes no actual changes—either on disk or in
+              the repository.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.editor_cmd">
+          <term><option>--editor-cmd</option>  
<replaceable>CMD</replaceable></term>
+          <listitem>
+            <para>Specifies an external program to use to edit a log  
message
+              or a property value.  See the <literal>editor-cmd</literal>
+              section in <xref  
linkend="svn.advanced.confarea.opts.config"/>
+              for ways to specify a default editor.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.encoding">
+          <term><option>--encoding</option>  
<replaceable>ENC</replaceable></term>
+          <listitem>
+            <para>Tells Subversion that your commit message is
+              composed using the character encoding provided.  The
+              default character encoding is derived from your
+              operating system's native locale; use this option if
+              your commit message is composed using any other
+              encoding.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.extensions">
+          <term><option>--extensions</option> (<option>-x</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Specifies customizations which Subversion should
+              make when performing difference calculations.  Valid
+              extensions include:</para>
+            <variablelist>
+              <varlistentry>
+                <term><option>--ignore-space-change</option>  
(<option>-b</option>)</term>
+                <listitem>
+                  <para>Ignore changes in the amount of white space.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--ignore-all-space</option>  
(<option>-w</option>)</term>
+                <listitem>
+                  <para>Ignore all white space.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--ignore-eol-style</option></term>
+                <listitem>
+                  <para>Ignore changes in EOL (end-of-line) style.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--show-c-function</option>  
(<option>-p</option>)</term>
+                <listitem>
+                  <para>Show C function names in the diff output.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--unified</option>  
(<option>-u</option>)</term>
+                <listitem>
+                  <para>Show three lines of unified diff context.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+            <para>The default value of <replaceable>ARG</replaceable>
+              is <literal>-u</literal>.  If you wish to pass multiple
+              arguments, you must enclose all of them in quotes.</para>
+            <para>Note that when Subversion is configured to invoke an
+              external diff command, the value of
+              the <option>--extension</option> (<option>-x</option>)
+              option isn't restricted to the previously mentioned
+              options, but may be <emphasis>any</emphasis> additional
+              arguments which Subversion should pass to that  
command.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.file">
+          <term><option>--file</option> (<option>-F</option>)  
<replaceable>FILENAME</replaceable></term>
+          <listitem>
+            <para>Uses the contents of the named file for the
+              specified subcommand.  Different subcommands do
+              different things with this content.  For example,
+              <command>svn commit</command> uses the content as a
+              commit log message, whereas <command>svn
+              propset</command> uses it as a property value.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.force">
+          <term><option>--force</option></term>
+          <listitem>
+            <para>Forces a particular command or operation to run.
+              Subversion will prevent you from performing some
+              operations in normal usage, but you can pass this option
+              to tell Subversion <quote>I know what I'm doing as well
+              as the possible repercussions of doing it, so let me at
+              'em.</quote> This option is the programmatic equivalent
+              of doing your own electrical work with the power
+              on—if you don't know what you're doing, you're
+              likely to get a nasty shock.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.force_log">
+          <term><option>--force-log</option></term>
+          <listitem>
+            <para>Forces a suspicious parameter passed to the
+              <option>--message</option> (<option>-m</option>) or
+              <option>--file</option> (<option>-F</option>) option to
+              be accepted as valid.  By default, Subversion will
+              produce an error if parameters to these options look
+              like they might instead be targets of the subcommand.
+              For example, if you pass a versioned file's path to the
+              <option>--file</option> (<option>-F</option>) option,
+              Subversion will assume you've made a mistake, that the
+              path was instead intended as the target of the
+              operation, and that you simply failed to provide some
+              other—unversioned—file as the source of your
+              log message.  To assert your intent and override these
+              types of errors, pass the <option>--force-log</option>
+              option to subcommands that accept log messages.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.git">
+          <term><option>--git</option></term>
+          <listitem>
+            <para>Enables a special output mode for <command>svn
+              diff</command> designed for cross-compatibility with the
+              popular Git distributed version control system.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.help">
+          <term><option>--help</option> (<option>-h</option>,  
<option>-?</option>)</term>
+          <listitem>
+            <para>If used with one or more subcommands, shows the
+              built-in help text for each.  If used alone, it displays
+              the general client help text.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.ignore_ancestry">
+          <term><option>--ignore-ancestry</option></term>
+          <listitem>
+            <para>Tells Subversion to ignore ancestry when calculating
+              differences (rely on path contents alone).  Also disables
+              <xref linkend="svn.branchmerge.basicmerging.mergetracking"/>
+              when used with the <command>svn merge</command> subcommand.
+          </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.ignore_externals">
+          <term><option>--ignore-externals</option></term>
+          <listitem>
+            <para>Tells Subversion to ignore externals definitions and
+              the external working copies managed by them.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.ignore_keywords">
+          <term><option>--ignore-keywords</option></term>
+          <listitem>
+            <para>Disables keyword expansion.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.ignore_whitespace">
+          <term><option>--ignore-whitespace</option></term>
+          <listitem>
+            <para>Instructs <command>svn patch</command> to ignore
+              whitespace when attempting to identify patch
+              context.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.incremental">
+          <term><option>--incremental</option></term>
+          <listitem>
+            <para>Prints output in a format suitable for
+              concatenation to prior similar output.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.internal_diff">
+          <term><option>--internal-diff</option></term>
+          <listitem>
+            <para>Instructs Subversion to use its built-in
+              differencing engine despite any external differencing
+              mechanism that may be specified for use in the user's
+              runtime configuration.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.keep_changelists">
+          <term><option>--keep-changelists</option></term>
+          <listitem>
+            <para>Tells Subversion not to remove the changelist assigments
+              from working copy items after committing.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.keep_local">
+          <term><option>--keep-local</option></term>
+          <listitem>
+            <para>Keeps the local copy of a file or directory (used
+              with the <command>svn delete</command> command).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.limit">
+          <term><option>--limit</option> (<option>-l</option>)  
<replaceable>NUM</replaceable></term>
+          <listitem>
+            <para>Shows only the first <replaceable>NUM</replaceable>
+              log messages.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.message">
+          <term><option>--message</option> (<option>-m</option>)  
<replaceable>MESSAGE</replaceable></term>
+          <listitem>
+            <para>Indicates that you will specify either a log message
+              or a lock comment on the command line, following this
+              option.  For example:</para>
+
+            <informalexample>
+              <screen>
+$ svn commit -m "They don't make Sunday."
+</screen>
+            </informalexample>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.native_eol">
+          <term><option>--native-eol</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Causes <command>svn export</command> to use a
+              specific end-of-line sequence as if it was the native
+              sequence for the client platform.
+              <replaceable>ARG</replaceable> may be one
+              of <literal>CR</literal>, <literal>LF</literal>,
+              or <literal>CRLF</literal>.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.new">
+          <term><option>--new</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Uses <replaceable>ARG</replaceable> as the newer
+              target (for use with <command>svn diff</command>).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.no_auto_props">
+          <term><option>--no-auto-props</option></term>
+          <listitem>
+            <para>Disables automatic property setting, overriding the
+              <literal>enable-auto-props</literal> runtime
+              configuration directive.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.no_diff_deleted">
+          <term><option>--no-diff-deleted</option></term>
+        <listitem>
+            <para>Prevents Subversion from printing differences for
+              deleted files.  The default behavior when you remove a
+              file is for <command>svn diff</command> to print the
+              same differences that you would see if you had kept
+              the file but removed all of its content.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.no_ignore">
+          <term><option>--no-ignore</option></term>
+          <listitem>
+            <para>Shows files in the status listing or adds/imports files
+              that would normally be omitted since they match a pattern
+              in the <literal>global-ignores</literal> configuration
+              option or the <literal>svn:ignore</literal> or
+              <literal>svn:global-ignores</literal>properties.  See <xref
+              linkend="svn.advanced.confarea.opts.config"/> and <xref
+              linkend="svn.advanced.props.special.ignore"/> for more
+              information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.no_unlock">
+          <term><option>--no-unlock</option></term>
+          <listitem>
+            <para>Tells Subversion not to automatically unlock files.
+              (The default commit behavior is to unlock all files
+              listed as part of the commit.)  See
+              <xref linkend="svn.advanced.locking"/> for more
+              information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.non_recursive">
+          <term><option>--non-recursive</option>  
(<option>-N</option>)</term>
+          <listitem>
+            <para><emphasis>Deprecated</emphasis>.  Stops a subcommand
+              from recursing into subdirectories.  Most subcommands
+              recurse by default, but some do not.  Users should avoid
+              this option and use the more precise <option>--depth</option>
+              option instead.  For most subcommands, specifying
+              <option>--non-recursive</option> produces behavior which
+              is the same as if you'd specified
+              <option>--depth=files</option>, but there are exceptions:
+              non-recursive <command>svn status</command> operates at the
+              <literal>immediates</literal> depth, and the  non-recursive
+              forms of <command>svn revert</command>,
+              <command>svn add</command>, and <command>svn commit</command>
+              operate at an <literal>empty</literal> depth.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.notice_ancestry">
+          <term><option>--notice-ancestry</option></term>
+          <listitem>
+            <para>Pays attention to ancestry when calculating
+              differences.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.old">
+          <term><option>--old</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Uses <replaceable>ARG</replaceable> as the older
+              target (for use with <command>svn diff</command>).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.parents">
+          <term><option>--parents</option></term>
+          <listitem>
+            <para>Creates and adds nonexistent or nonversioned parent
+              subdirectories to the working copy or repository as part
+              of an operation.  This is useful for automatically
+              creating multiple subdirectories where none currently
+              exist.  If performed on a URL, all the directories will
+              be created in a single commit.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.quiet">
+          <term><option>--quiet</option> (<option>-q</option>)</term>
+          <listitem>
+            <para>Requests that the client print only essential
+              information while performing an operation.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.record_only">
+          <term><option>--record-only</option></term>
+          <listitem>
+            <para>Enables a special mode of <command>svn
+            merge</command> in which the specified merge operation is
+            recorded in the local merge tracking information, but is
+            not actually performed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.recursive">
+          <term><option>--recursive</option> (<option>-R</option>)</term>
+          <listitem>
+            <para>Makes a subcommand recurse into subdirectories.
+              (Most subcommands recurse by default.)</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.reintegrate">
+          <term><option>--reintegrate</option></term>
+          <listitem>
+            <para>Deprecated.  Used with the <command>svn merge</command>
+              subcommand to merge changes from a feature branch back into
+              the feature branch's ancestor branch.  Since Subversion 1.8
+              the <command>svn merge</command> subcommand automatically
+              detects this scenario and performs the appropriate merge.
+              See
+              <xref linkend="svn.branchmerge.basicmerging.reintegrate"/>
+              for details.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.relocate">
+          <term><option>--relocate</option></term>
+          <listitem>
+            <para>Deprecated.  When used with the <command>svn
+              switch</command> subcommand, changes the location of the
+              repository that your working copy references.  The
+              preferred approach as of Subversion 1.7, however, is to
+              use the <command>svn relocate</command> subcommand.  See
+              <xref linkend="svn.ref.svn.c.relocate" /> for more
+              details and an example.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.remove">
+          <term><option>--remove</option></term>
+          <listitem>
+            <para>Used with <command>svn changelist</command> to
+              disassociate—rather than associate (which is the
+              default operation)—the target(s) from a
+              changelist.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.reverse_diff">
+          <term><option>--reverse-diff</option></term>
+          <listitem>
+            <para>Causes <command>svn patch</command> to interpret the
+              input patch instructions in reverse—treating added
+              lines as removed ones and vice-versa.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.revision">
+          <term><option>--revision</option> (<option>-r</option>)  
<replaceable>REV</replaceable></term>
+          <listitem>
+            <para>Specifies a revision (or range of revisions) on with
+              which to operate.  You can provide revision numbers,
+              keywords, or dates (in curly braces) as arguments to the
+              revision option.  If you wish to offer a range of
+              revisions, you can provide two revisions separated by a
+              colon.  For example:</para>
+
+            <informalexample>
+              <screen>
+$ svn log -r 1729
+$ svn log -r 1729:HEAD
+$ svn log -r 1729:1744
+$ svn log -r {2001-12-04}:{2002-02-17}
+$ svn log -r 1729:{2002-02-17}
+</screen>
+            </informalexample>
+
+            <para>See <xref linkend="svn.tour.revs.keywords"/> for more
+              information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.revprop">
+          <term><option>--revprop</option></term>
+          <listitem>
+            <para>Operates on a revision property instead of a
+              property specific to a file or directory.  This option
+              requires that you also pass a revision with the
+              <option>--revision</option> (<option>-r</option>)
+              option.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.set_depth">
+          <term><option>--set-depth</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Sets the sticky depth on a directory in a working
+              copy to one of <literal>exclude</literal>,  
<literal>empty</literal>,
+              <literal>files</literal>, <literal>immediates</literal>,
+              or <literal>infinity</literal>.  For detailed coverage
+              of what these mean and how to use this option, see
+              <xref linkend="svn.advanced.sparsedirs" />.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.show_copies_as_adds">
+          <term><option>--show-copies-as-adds</option></term>
+          <listitem>
+            <para>Enables a special output mode for <command>svn
+              diff</command> in which the content difference for a
+              file created via a copy operation appears as it would
+              for a brand new file (with each line therein appearing
+              as an addition to an empty file) rather than as a delta
+              against the original file from which the copy was
+              created.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.show_inherited_props">
+          <term><option>--show-inherited-props</option></term>
+          <listitem>
+            <para>Causes <command>svn propget</command> and <command>
+              svn proplist</command> to display the versioned properties
+              inherited by the target file or directory.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.show_revs">
+          <term><option>--show-revs</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Used to make <command>svn mergeinfo</command>
+              display certain classes of merge tracking
+              information.  <replaceable>ARG</replaceable> may be
+              either <literal>merged</literal>
+              or <literal>eligible</literal>, indicating a desire to
+              see revisions either already merged or eligible for future
+              merge from the specified source URL, respectively.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.show_updates">
+          <term><option>--show-updates</option>  
(<option>-u</option>)</term>
+          <listitem>
+            <para>Causes the client to display information about
+              which files in your working copy are out of date.
+              This doesn't actually update any of your
+              files—it just shows you which files will be
+              updated if you then use <command>svn update</command>.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.stop_on_copy">
+          <term><option>--stop-on-copy</option></term>
+          <listitem>
+            <para>Causes a Subversion subcommand that traverses
+              the history of a versioned resource to stop harvesting
+              that historical information when a copy—that is, a
+              location in history where that resource was copied from
+              another location in the repository—is
+              encountered.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.strict">
+          <term><option>--strict</option></term>
+          <listitem>
+            <para>Causes Subversion to use strict semantics, a notion
+              that is rather vague unless talking about specific
+              subcommands (namely, <command>svn propget</command>).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.strip">
+          <term><option>--strip</option>  
<replaceable>NUM</replaceable></term>
+          <listitem>
+            <para>Used by <command>svn patch</command> to
+              ignore <replaceable>NUM</replaceable> leading path
+              components found on paths specified in the patch input
+              file.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.summarize">
+          <term><option>--summarize</option></term>
+          <listitem>
+            <para>Display only high-level summary notifications about
+              the operation instead of its detailed output.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.targets">
+          <term><option>--targets</option>  
<replaceable>FILENAME</replaceable></term>
+          <listitem>
+            <para>Tells Subversion to read additional target paths for
+              the operation from <replaceable>FILENAME</replaceable>.
+              <replaceable>FILENAME</replaceable> should contain one
+              path per line, with each path expected to use the same
+              encoding and formatting that it would if you had
+              specified it directly as an argument on the command
+              line.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.use_merge_history">
+          <term><option>--use-merge-history</option>  
(<option>-g</option>)</term>
+          <listitem>
+            <para>Uses or displays additional information from merge
+              history.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.verbose">
+          <term><option>--verbose</option> (<option>-v</option>)</term>
+          <listitem>
+            <para>Requests that the client print out as much
+              information as it can while running any subcommand.
+              This may result in Subversion printing out additional
+              fields, detailed information about every file, or
+              additional information regarding its actions.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.version">
+          <term><option>--version</option></term>
+          <listitem>
+            <para>Prints the client version info.  This information
+              includes not only the version number of the client, but
+              also a listing of all repository access modules that the
+              client can use to access a Subversion repository.
+              With <option>--quiet</option> (<option>-q</option>) it
+              prints only the version number in a compact form.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svn.sw.with_all_revprops">
+          <term><option>--with-all-revprops</option></term>
+          <listitem>
+            <para>Used with the <option>--xml</option> option
+            to <command>svn log</command>, instructs Subversion to
+            retrieve and display all revision properties—the
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svnadmin.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,1455 @@
+<reference id="svn.ref.svnadmin">
+  <title>svnadmin Reference—Subversion Repository  
Administration</title>
+
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <partintro>
+    <para><command>svnadmin</command> is the administrative tool for
+      monitoring and repairing your Subversion repository.  For
+      detailed information on repository administration, see the  
maintenance section for <xref
+      linkend="svn.reposadmin.maint.tk.svnadmin"/>.</para>
+
+    <para>Since <command>svnadmin</command> works via direct repository  
access
+      (and thus can only be used on the machine that holds the
+      repository), it refers to the repository with a path, not a  
URL.</para>
+
+      <para>Options in <command>svnadmin</command> are global, just
+        as they are in <command>svn</command>:</para>
+
+      <variablelist>
+
+        <varlistentry id="svn.ref.svnadmin.sw.bdb_log_keep">
+          <term><option>--bdb-log-keep</option></term>
+          <listitem>
+            <para>(Berkeley DB-specific.) Disable automatic log removal
+              of database logfiles.  Having these logfiles around
+              can be convenient if you need to restore from a
+              catastrophic repository failure.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.bdb_txn_nosync">
+          <term><option>--bdb-txn-nosync</option></term>
+          <listitem>
+
+            <para>(Berkeley DB-specific.) Disables fsync when
+              committing database transactions.  Used with the
+              <command>svnadmin create</command> command to create a
+              Berkeley DB-backed repository with
+              <literal>DB_TXN_NOSYNC</literal> enabled (which improves
+              speed but has some risks associated with it).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.bypass_hooks">
+          <term><option>--bypass-hooks</option></term>
+          <listitem>
+            <para>Bypass the repository hook system.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.bypass_prop_validation">
+          <term><option>--bypass-prop-validation</option></term>
+          <listitem>
+            <para>When loading a dump file, disable the logic which
+              validates property values.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.clean_logs">
+          <term><option>--clean-logs</option></term>
+          <listitem>
+            <para>Remove unused Berkeley DB logs.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.config_dir">
+          <!-- Only 'svnadmin create' accepts it, and the underlying
+               logic doesn't even use it.  Weird. -->
+          <term><option>--config-dir</option>  
<replaceable>DIR</replaceable></term>
+          <listitem>
+            <para>Instructs Subversion to read configuration
+              information from the specified directory instead of the
+              default location (<filename>.subversion</filename> in
+              the user's home directory).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.deltas">
+          <term><option>--deltas</option></term>
+          <listitem>
+            <para>When creating a repository dump file, specify
+              changes in versioned properties and file contents as
+              deltas against their previous state.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.fs_type">
+          <term><option>--fs-type</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>When creating a repository,
+              use <replaceable>ARG</replaceable> as the requested
+              filesyste type.  <replaceable>ARG</replaceable> may be
+              either <literal>bdb</literal>
+              or <literal>fsfs</literal>.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.force_uuid">
+          <term><option>--force-uuid</option></term>
+          <listitem>
+            <para>By default, when loading data into a repository that
+              already contains revisions, <command>svnadmin</command>
+              will ignore the UUID from the dump stream.  This option
+              will cause the repository's UUID to be set to the UUID
+              from the stream.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.ignore_uuid">
+          <term><option>--ignore-uuid</option></term>
+          <listitem>
+            <para>By default, when loading data into an empty repository,
+              <command>svnadmin</command> will set the repository's UUID
+              to the UUID from the dump stream.  This option will cause
+              the UUID from the stream to be ignored.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.incremental">
+          <term><option>--incremental</option></term>
+          <listitem>
+            <para>Dump a revision only as a diff against the
+              previous revision, instead of the usual
+              fulltext.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.memory_cache_size">
+          <term><option>--memory-cache-size</option> (<option>-M</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Configures the size (in Megabytes) of the extra
+              in-memory cache used to minimize redundant operations.
+              The default value is <literal>16</literal>.  (This cache
+              is used for FSFS-backed repositories only.)</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.parent_dir">
+          <term><option>--parent-dir</option>  
<replaceable>DIR</replaceable></term>
+          <listitem>
+            <para>When loading a dump file, root paths at
+              <replaceable>DIR</replaceable> instead of
+              <filename>/</filename>.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.pre_1.4_compatible">
+          <term><option>--pre-1.4-compatible</option></term>
+          <listitem>
+            <para>When creating a new repository, use a format that is
+            compatible with versions of Subversion earlier than
+            Subversion 1.4.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.pre_1.5_compatible">
+          <term><option>--pre-1.5-compatible</option></term>
+          <listitem>
+            <para>When creating a new repository, use a format that is
+            compatible with versions of Subversion earlier than
+            Subversion 1.5.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.pre_1.6_compatible">
+          <term><option>--pre-1.6-compatible</option></term>
+          <listitem>
+            <para>When creating a new repository, use a format that is
+              compatible with versions of Subversion earlier than
+              Subversion 1.6.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.revision">
+          <term><option>--revision</option> (<option>-r</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Specify a particular revision to operate
+              on.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.quiet">
+          <term><option>--quiet</option> (<option>-q</option>)</term>
+          <listitem>
+            <para>Do not show normal progress—show only
+              errors.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.use_post_commit_hook">
+          <term><option>--use-post-commit-hook</option></term>
+          <listitem>
+            <para>When loading a dump file, runs the repository's
+              <literal>post-commit</literal> hook after finalizing each  
newly loaded
+              revision.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry  
id="svn.ref.svnadmin.sw.use_post_revprop_change_hook">
+          <term><option>--use-post-revprop-change-hook</option></term>
+          <listitem>
+            <para>When changing a revision property, runs the
+              repository's <literal>post-revprop-change</literal> hook  
after changing the
+              revision property.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.use_pre_commit_hook">
+          <term><option>--use-pre-commit-hook</option></term>
+          <listitem>
+            <para>When loading a dump file, runs the repository's
+              <literal>pre-commit</literal> hook before finalizing each  
newly loaded
+              revision.  If the hook fails, aborts the commit and
+              terminates the load process.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.use_pre_revprop_change_hook">
+          <term><option>--use-pre-revprop-change-hook</option></term>
+          <listitem>
+            <para>When changing a revision property, runs the
+              repository's <literal>pre-revprop-change</literal> hook  
before changing the
+              revision property.  If the hook fails, aborts the
+              modification and terminates.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnadmin.sw.wait">
+          <term><option>--wait</option></term>
+          <listitem>
+            <para>For operations which require exclusive repository
+              access, wait until the requisite repository lock has
+              been obtained instead of immediately erroring out when
+              it cannot be.</para>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+  </partintro>
+
+    <!-- ===============================================================  
-->
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.crashtest">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>crashtest</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin crashtest</refname>
+          <refpurpose>Simulate a process that crashes.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin crashtest REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+            <para>Open the repository at  
<replaceable>REPOS_PATH</replaceable>, then abort, thus
+              simulating a process that crashes while holding an open
+              repository handle.  This is used for testing automatic
+              repository recovery (a new feature in Berkeley DB 4.4).
+              It's unlikely that you'll need to run this
+              command.</para>
+
+          </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <para>None</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <informalexample>
+            <screen>
+$ svnadmin crashtest /var/svn/repos
+Aborted
+</screen>
+          </informalexample>
+
+          <para>Exciting, isn't it?</para>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.create">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>create</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin create</refname>
+          <refpurpose>Create a new, empty repository.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin create REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+            <para>Create a new, empty repository at the path provided.
+              If the provided directory does not exist, it will be
+              created for
+              you.<footnote><para>Remember, <command>svnadmin</command>
+              works only with local <emphasis>paths</emphasis>, not
+              <emphasis>URLs</emphasis>.</para></footnote>  As of
+              Subversion 1.2, <command>svnadmin</command> creates new
+              repositories with the
+              <literal>FSFS</literal> filesystem backend by
+              default.</para>
+
+            <para>While <command>svnadmin create</command> will create
+              the base directory for a new repository, it will not
+              create intermediate directories.  For example, if you
+              have an empty directory named
+              <filename>/var/svn</filename>, creating
+              <filename>/var/svn/repos</filename> will work, while
+              attempting to create
+              <filename>/var/svn/subdirectory/repos</filename> will
+              fail with an error.  Also, keep in mind that, depending
+              on where on your system you are creating your
+              repository, you might need to run <command>svnadmin
+              create</command> as a user with elevated privileges
+              (such as the <literal>root</literal> user).</para>
+
+          </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnadmin.sw.bdb_log_keep" />
+<xref linkend="svn.ref.svnadmin.sw.bdb_txn_nosync" />
+<xref linkend="svn.ref.svnadmin.sw.config_dir" />
+<xref linkend="svn.ref.svnadmin.sw.fs_type" />
+<xref linkend="svn.ref.svnadmin.sw.pre_1.4_compatible" />
+<xref linkend="svn.ref.svnadmin.sw.pre_1.5_compatible" />
+<xref linkend="svn.ref.svnadmin.sw.pre_1.6_compatible" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Creating a new repository is this easy:</para>
+
+          <informalexample>
+            <screen>
+$ cd /var/svn
+$ svnadmin create repos
+$
+</screen>
+          </informalexample>
+
+          <para>In Subversion 1.0, a Berkeley DB repository is always
+            created.  In Subversion 1.1, a Berkeley DB repository is
+            the default repository type, but an FSFS repository can be
+            created using the <option>--fs-type</option>
+            option:</para>
+
+          <informalexample>
+            <screen>
+$ cd /var/svn
+$ svnadmin create repos --fs-type fsfs
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.deltify">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>deltify</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin deltify</refname>
+          <refpurpose>Deltify changed paths in a revision  
range.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin deltify [-r LOWER[:UPPER]]  
REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para><command>svnadmin deltify</command> exists in
+            current versions of Subversion only for historical reasons.
+            This command is deprecated and no longer needed.</para>
+
+          <para>It dates from a time when Subversion offered
+            administrators greater control over compression strategies
+            in the repository.  This turned out to be a lot of
+            complexity for <emphasis>very</emphasis> little gain, and
+            this <quote>feature</quote> was deprecated.</para>
+
+            </refsect1>
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnadmin.sw.memory_cache_size" />
+<xref linkend="svn.ref.svnadmin.sw.quiet" />
+<xref linkend="svn.ref.svnadmin.sw.revision" />
+</screen>
+          </informalexample>
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.dump">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>dump</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin dump</refname>
+          <refpurpose>Dump the contents of the filesystem to  
<filename>stdout</filename>.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin dump REPOS_PATH [-r LOWER[:UPPER]]  
[--incremental] [--deltas]</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Dump the contents of the filesystem to  
<filename>stdout</filename> in a
+            <quote>dump file</quote> portable format, sending feedback
+            to <filename>stderr</filename>.  Dump revisions
+            <replaceable>LOWER</replaceable> rev through
+            <replaceable>UPPER</replaceable> rev.  If no revisions are
+            given, dump all revision trees.  If only
+            <replaceable>LOWER</replaceable> is given, dump that one
+            revision tree.  See <xref  
linkend="svn.reposadmin.maint.migrate"/>
+            for a practical use.</para>
+
+          <para>By default, the Subversion dump stream contains a
+            single revision (the first revision in the requested
+            revision range) in which every file and directory in the
+            repository in that revision is presented as though that whole
+            tree was added at once, followed by other revisions (the
+            remainder of the revisions in the requested range), which
+            contain only the files and directories that were modified
+            in those revisions.  For a modified file, the complete
+            full-text representation of its contents, as well as all of
+            its properties, are presented in the dump file; for a
+            directory, all of its properties are presented.</para>
+
+          <para>Two useful options modify the dump file
+            generator's behavior.  The first is the
+            <option>--incremental</option> option, which simply causes
+            that first revision in the dump stream to contain only
+            the files and directories modified in that revision,
+            instead of being presented as the addition of a new tree,
+            and in exactly the same way that every other revision in
+            the dump file is presented.  This is useful for generating
+            a relatively small dump file to be loaded into another
+            repository that already has the files and directories
+            that exist in the original repository.</para>
+
+          <para>The second useful option is <option>--deltas</option>.
+            This option causes <command>svnadmin dump</command> to,
+            instead of emitting full-text representations of file
+            contents and property lists, emit only deltas of those
+            items against their previous versions.  This reduces (in
+            some cases, drastically) the size of the dump file that
+            <command>svnadmin dump</command> creates.  There are, however,
+            disadvantages to using this option—deltified
+            dump files are more CPU-intensive to create, cannot be
+            operated on by <command>svndumpfilter</command>, and tend
+            not to compress as well as their nondeltified counterparts
+            when using third-party tools such as <command>gzip</command>
+            and <command>bzip2</command>.</para>
+        </refsect1>
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnadmin.sw.deltas" />
+<xref linkend="svn.ref.svnadmin.sw.incremental" />
+<xref linkend="svn.ref.svnadmin.sw.memory_cache_size" />
+<xref linkend="svn.ref.svnadmin.sw.quiet" />
+<xref linkend="svn.ref.svnadmin.sw.revision" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Dump your whole repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin dump /var/svn/repos > full.dump
+* Dumped revision 0.
+* Dumped revision 1.
+* Dumped revision 2.
+…
+</screen>
+          </informalexample>
+
+          <para>Incrementally dump a single transaction from your
+            repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin dump /var/svn/repos -r 21 --incremental > incr.dump
+* Dumped revision 21.
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.help">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>help</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin help (h, ?)</refname>
+          <refpurpose>Help!</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin help [SUBCOMMAND...]</literal></para>
+        </refsect1>
+
+        <refsect1>
+          <title>Description</title>
+
+          <para>This subcommand is useful when you're trapped on a
+            desert island with neither a Net connection nor a copy of
+            this book.</para>
+        </refsect1>
+
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.hotcopy">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>hotcopy</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin hotcopy</refname>
+          <refpurpose>Make a hot copy of a repository.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin hotcopy REPOS_PATH  
NEW_REPOS_PATH</literal></para>
+        </refsect1>
+
+        <refsect1>
+          <title>Description</title>
+
+          <para>This subcommand makes a full <quote>hot</quote> backup
+            of your repository, including all hooks, configuration
+            files, and, of course, database files.  If you pass the
+            <option>--clean-logs</option> option,
+            <command>svnadmin</command> will perform a hot copy of your
+            repository, and then remove unused Berkeley DB logs from
+            the original repository.  You can run this command at any
+            time and make a safe copy of the repository, regardless of
+            whether other processes are using the repository.</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnadmin.sw.clean_logs" />
+</screen>
+          </informalexample>
+
+          <warning>
+            <para>As described in <xref
+              linkend="svn.reposadmin.basics.backends.bdb"/>, hot-copied
+              Berkeley DB repositories are <emphasis>not</emphasis>
+              portable across operating systems, nor will they work on
+              machines with a different <quote>endianness</quote> than
+              the machine where they were created.</para>
+          </warning>
+
+          </refsect1>
+
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.list-dblogs">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>list-dblogs</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin list-dblogs</refname>
+          <refpurpose>Ask Berkeley DB which logfiles exist for a
+            given Subversion repository (applies only to repositories
+            using the <literal>bdb</literal> backend).</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin list-dblogs REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Berkeley DB creates logs of all changes to the
+            repository, which allow it to recover in the face of
+            catastrophe.  Unless you enable
+            <literal>DB_LOG_AUTOREMOVE</literal>, the logfiles
+            accumulate, although most are no longer used and can be
+            deleted to reclaim disk space.  See <xref
+            linkend="svn.reposadmin.maint.diskspace"/> for more
+            information.</para>
+        </refsect1>
+
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.list-unused-dblogs">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>list-unused-dblogs</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin list-unused-dblogs</refname>
+          <refpurpose>Ask Berkeley DB which logfiles can be safely
+          deleted (applies only to repositories using the
+          <literal>bdb</literal> backend).</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin list-unused-dblogs  
REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Berkeley DB creates logs of all changes to the
+            repository, which allow it to recover in the face of
+            catastrophe.  Unless you enable
+            <literal>DB_LOG_AUTOREMOVE</literal>, the logfiles
+            accumulate, although most are no longer used and can be
+            deleted to reclaim disk space.  See <xref
+            linkend="svn.reposadmin.maint.diskspace"/> for more
+            information.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Remove all unused logfiles from the repository:</para>
+
+          <informalexample>
+          <screen>
+$ svnadmin list-unused-dblogs /var/svn/repos
+/var/svn/repos/log.0000000031
+/var/svn/repos/log.0000000032
+/var/svn/repos/log.0000000033
+
+$ svnadmin list-unused-dblogs /var/svn/repos | xargs rm
+## disk space reclaimed!
+</screen>
+        </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.load">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>load</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin load</refname> <refpurpose>Read a
+            repository dump stream from
+            <filename>stdin</filename>.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin load REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Read a repository dump stream from
+            <filename>stdin</filename>, committing new revisions into the  
repository's
+            filesystem.  Send progress feedback to  
<filename>stdout</filename>.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnadmin.sw.bypass_prop_validation" />
+<xref linkend="svn.ref.svnadmin.sw.force_uuid" />
+<xref linkend="svn.ref.svnadmin.sw.ignore_uuid" />
+<xref linkend="svn.ref.svnadmin.sw.memory_cache_size" />
+<xref linkend="svn.ref.svnadmin.sw.parent_dir" />
+<xref linkend="svn.ref.svnadmin.sw.quiet" />
+<xref linkend="svn.ref.svnadmin.sw.use_post_commit_hook" />
+<xref linkend="svn.ref.svnadmin.sw.use_pre_commit_hook" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows the beginning of loading a repository from
+            a backup file (made, of course, with <command>svnadmin
+            dump</command>):</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin load /var/svn/restored < repos-backup
+<<< Started new txn, based on original revision 1
+     * adding path : test ... done.
+     * adding path : test/a ... done.
+…
+</screen>
+          </informalexample>
+
+          <para>Or if you want to load into a subdirectory:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin load --parent-dir new/subdir/for/project \
+                /var/svn/restored < repos-backup
+<<< Started new txn, based on original revision 1
+     * adding path : test ... done.
+     * adding path : test/a ... done.
+…
+</screen>
+          </informalexample>
+
+          <para>Newer versions of Subversion have grown more strict
+            regarding the format of the values of Subversion's own
+            built-in properties.  Of course, properties created with
+            older versions of Subversion wouldn't have benefitted from
+            that strictness, and as such might be improperly
+            formatted.  Dump streams carry property values as-is, so
+            using Subversion 1.7 to load dump streams created from
+            repositories with ill-formatted property values will, by
+            default, trigger a validation error.  There are several
+            workaround for this problem.  First, you can manually
+            repair the problematic property values in the source
+            repository and recreate the dump stream.  Or, you can
+            manually tweak the dump stream itself to fix those
+            property values.  Finally, if you'd rather not deal with
+            the problem right now, use the
+            <option>--bypass-prop-validation</option> option
+            with <command>svnadmin load</command>.</para>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.lslocks">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>lslocks</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin lslocks</refname>
+          <refpurpose>Print descriptions of all locks.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin lslocks REPOS_PATH  
[PATH-IN-REPOS]</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print descriptions of all locks in
+            repository <replaceable>REPOS_PATH</replaceable>
+            underneath the
+            path <replaceable>PATH-IN-REPOS</replaceable>.
+            If <replaceable>PATH-IN-REPOS</replaceable> is not
+            provided, it defaults to the root directory of the
+            repository.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <para>None</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+
+          <para>This lists the one locked file in the repository at
+            <filename>/var/svn/repos</filename>:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin lslocks /var/svn/repos
+Path: /tree.jpg
+UUID Token: opaquelocktoken:ab00ddf0-6afb-0310-9cd0-dda813329753
+Owner: harry
+Created: 2005-07-08 17:27:36 -0500 (Fri, 08 Jul 2005)
+Expires:
+Comment (1 line):
+Rework the uppermost branches on the bald cypress in the foreground.
+</screen>
+          </informalexample>
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.lstxns">
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>lstxns</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin lstxns</refname>
+          <refpurpose>Print the names of all uncommitted  
transactions.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin lstxns REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the names of all uncommitted transactions.  See
+            <xref linkend="svn.reposadmin.maint.diskspace.deadtxns" />
+            for information on how uncommitted transactions are
+            created and what you should do with them.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>List all outstanding transactions in a
+            repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin lstxns /var/svn/repos/
+1w
+1x
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.pack">
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>pack</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin pack</refname>
+          <refpurpose>Possibly compact the repository into a more
+          efficient storage model.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin pack REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>See
+          <xref linkend="svn.reposadmin.maint.diskspace.fsfspacking"
+          /> for more information.</para>
+        </refsect1>
+        <refsect1>
+          <title>Options</title>
+          <para>None</para>
+        </refsect1>
+      </refentry>
+
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnadmin.c.recover">
+
+        <indexterm>
+          <primary>svnadmin</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>recover</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnadmin recover</refname>
+
+          <refpurpose>Bring a repository database back into a
+          consistent state (applies only to repositories using the
+          <literal>bdb</literal> backend).  In addition, if
+          <filename>repos/conf/passwd</filename> does not exist, it
+          will create a default passwordfile .</refpurpose>
+
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnadmin recover REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Run this command if you get an error indicating that
+            your repository needs to be recovered.</para>
+        </refsect1>
+        <refsect1>
+          <title>Options</title>
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnadmin.sw.wait" />
+</screen>
+          </informalexample>
+        </refsect1>
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Recover a hung repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin recover /var/svn/repos/
+Repository lock acquired.
+Please wait; recovering the repository may take some time...
+
+Recovery completed.
+The latest repos revision is 34.
+</screen>
+          </informalexample>
+
+          <para>Recovering the database requires an exclusive lock on
+            the repository. (This is a <quote>database lock</quote>;
+            see the sidebar <xref  
linkend="svn.advanced.locking.meanings"/>.)
+            If another process is accessing the repository,
+            then <command>svnadmin recover</command> will error:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin recover /var/svn/repos
+svn: E165000: Failed to get exclusive repository access; perhaps another  
proce
+ss such as httpd, svnserve or svn has it open?
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svndumpfilter.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,356 @@
+<reference id="svn.ref.svndumpfilter">
+  <title>svndumpfilter Reference—Subversion History Filtering</title>
+
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <!-- =================================================================  
-->
+  <partintro>
+
+    <para><command>svndumpfilter</command> is a command-line utility
+      for removing history from a Subversion dump file by either
+      excluding or including paths beginning with one or more named
+      prefixes.  For details, see
+      <xref linkend="svn.reposadmin.maint.tk.svndumpfilter"/>.</para>
+
+      <para>Options in <command>svndumpfilter</command> are global, just
+        as they are in <command>svn</command> and
+        <command>svnadmin</command>:</para>
+
+      <variablelist>
+
+        <varlistentry id="svn.ref.svndumpfilter.sw.drop_empty_revs">
+          <term><option>--drop-empty-revs</option></term>
+          <listitem>
+            <para>If filtering causes any revision to be empty (i.e.,
+              causes no change to the repository), removes these
+              revisions from the final dump file.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svndumpfilter.sw.pattern">
+          <term><option>--pattern</option></term>
+          <listitem>
+            <para>Treat the path prefixes provided to the filtering
+              commands as file glob patterns rather than explicit path
+              substrings.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svndumpfilter.sw.renumber_revs">
+          <term><option>--renumber-revs</option></term>
+          <listitem>
+            <para>Renumbers revisions that remain after
+              filtering.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry  
id="svn.ref.svndumpfilter.sw.skip_missing_merge_sources">
+          <term><option>--skip-missing-merge-sources</option></term>
+          <listitem>
+            <para>Skips merge sources that have been removed as part of
+              the filtering.  Without this
+              option, <command>svndumpfilter</command> will exit with
+              an error if the merge source for a retained path is
+              removed by filtering.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svndumpfilter.sw.preserve_revprops">
+          <term><option>--preserve-revprops</option></term>
+          <listitem>
+            <para>If all nodes in a revision are removed by filtering
+              and <option>--drop-empty-revs</option> is not passed,
+              the default behavior of <command>svndumpfilter</command>
+              is to remove all revision properties except for the date
+              and the log message (which will merely indicate that the
+              revision is empty).  Passing this option will preserve
+              existing revision properties (which may or may not make
+              sense since the related content is no longer present in
+              the dump file).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svndumpfilter.sw.targets">
+          <term><option>--targets</option>  
<replaceable>FILENAME</replaceable></term>
+          <listitem>
+            <para>Instructs <command>svndumpfilter</command> to read
+              additional path prefixes—one per line—from
+              the file located at <replaceable>FILENAME</replaceable>.
+              This is especially useful for complex filtering
+              operations which require more prefixes than the
+              operating system allows to be specified on a single
+              command line.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svndumpfilter.sw.quiet">
+          <term><option>--quiet</option></term>
+          <listitem>
+            <para>Does not display filtering statistics.</para>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+  </partintro>
+
+    <!-- ===============================================================  
-->
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svndumpfilter.commands.c.exclude">
+
+        <indexterm>
+          <primary>svndumpfilter</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>exclude</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svndumpfilter exclude</refname>
+          <refpurpose>Filter out nodes with given prefixes from the dump  
stream.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svndumpfilter exclude  
PATH_PREFIX...</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>This can be used to exclude nodes that begin with one or
+            more <replaceable>PATH_PREFIX</replaceable>es from a
+            filtered dump file.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svndumpfilter.sw.drop_empty_revs" />
+<xref linkend="svn.ref.svndumpfilter.sw.pattern" />
+<xref linkend="svn.ref.svndumpfilter.sw.preserve_revprops" />
+<xref linkend="svn.ref.svndumpfilter.sw.quiet" />
+<xref linkend="svn.ref.svndumpfilter.sw.renumber_revs" />
+<xref linkend="svn.ref.svndumpfilter.sw.skip_missing_merge_sources" />
+<xref linkend="svn.ref.svndumpfilter.sw.targets" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>If we have a dump file from a repository with a number
+            of different picnic-related directories in it, but we want
+            to keep everything <emphasis>except</emphasis>
+            the <filename>sandwiches</filename> part of the
+            repository, we'll exclude only that path:</para>
+
+          <informalexample>
+            <screen>
+$ svndumpfilter exclude sandwiches < dumpfile > filtered-dumpfile
+Excluding prefixes:
+   '/sandwiches'
+
+Revision 0 committed as 0.
+Revision 1 committed as 1.
+Revision 2 committed as 2.
+Revision 3 committed as 3.
+Revision 4 committed as 4.
+
+Dropped 1 node(s):
+   '/sandwiches'
+$
+</screen>
+          </informalexample>
+
+          <para>Beginning in Subversion 1.7,
+            <command>svndumpfilter</command> can optionally treat
+            the <replaceable>PATH_PREFIX</replaceable>s not merely as
+            explicit substrings, but as file patterns instead.  So,
+            for example, if you wished to filter out paths which ended
+            with <filename>.OLD</filename>, you would do the
+            following:</para>
+
+          <informalexample>
+            <screen>
+$ svndumpfilter exclude --pattern "*.OLD" < dumpfile >  
filtered-dumpfile
+Excluding prefix patterns:
+   '/*.OLD'
+
+Revision 0 committed as 0.
+Revision 1 committed as 1.
+Revision 2 committed as 2.
+Revision 3 committed as 3.
+Revision 4 committed as 4.
+
+Dropped 3 node(s):
+   '/condiments/salt.OLD'
+   '/condiments/pepper.OLD'
+   '/toppings/cheese.OLD'
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svndumpfilter.commands.c.include">
+
+        <indexterm>
+          <primary>svndumpfilter</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>include</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svndumpfilter include</refname>
+          <refpurpose>Filter out nodes without given prefixes from
+            dump stream.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svndumpfilter include  
PATH_PREFIX...</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Can be used to include nodes that begin with one or
+            more <replaceable>PATH_PREFIX</replaceable>es in a
+            filtered dump file (thus excluding all other paths).</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svndumpfilter.sw.drop_empty_revs" />
+<xref linkend="svn.ref.svndumpfilter.sw.pattern" />
+<xref linkend="svn.ref.svndumpfilter.sw.preserve_revprops" />
+<xref linkend="svn.ref.svndumpfilter.sw.quiet" />
+<xref linkend="svn.ref.svndumpfilter.sw.renumber_revs" />
+<xref linkend="svn.ref.svndumpfilter.sw.skip_missing_merge_sources" />
+<xref linkend="svn.ref.svndumpfilter.sw.targets" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Example</title>
+
+        <para>If we have a dump file from a repository with a number of
+          different picnic-related directories in it, but want to
+          keep only the <filename>sandwiches</filename> part of the
+          repository, we'll include only that path:</para>
+
+        <informalexample>
+            <screen>
+$ svndumpfilter include sandwiches < dumpfile > filtered-dumpfile
+Including prefixes:
+   '/sandwiches'
+
+Revision 0 committed as 0.
+Revision 1 committed as 1.
+Revision 2 committed as 2.
+Revision 3 committed as 3.
+Revision 4 committed as 4.
+
+Dropped 12 node(s):
+   '/condiments'
+   '/condiments/pepper'
+   '/condiments/pepper.OLD'
+   '/condiments/salt'
+   '/condiments/salt.OLD'
+   '/drinks'
+   '/snacks'
+   '/supplies'
+   '/toppings'
+   '/toppings/cheese'
+   '/toppings/cheese.OLD'
+   '/toppings/lettuce'
+$
+</screen>
+          </informalexample>
+
+          <para>Beginning in Subversion 1.7,
+            <command>svndumpfilter</command> can optionally treat
+            the <replaceable>PATH_PREFIX</replaceable>s not merely as
+            explicit substrings, but as file patterns instead.  So,
+            for example, if you wished to include only paths which ended
+            with <filename>ks</filename>, you would do the
+            following:</para>
+
+          <informalexample>
+            <screen>
+$ svndumpfilter include --pattern "*ks" < dumpfile >  
filtered-dumpfile
+Including prefix patterns:
+   '/*ks'
+
+Revision 0 committed as 0.
+Revision 1 committed as 1.
+Revision 2 committed as 2.
+Revision 3 committed as 3.
+Revision 4 committed as 4.
+
+Dropped 11 node(s):
+   '/condiments'
+   '/condiments/pepper'
+   '/condiments/pepper.OLD'
+   '/condiments/salt'
+   '/condiments/salt.OLD'
+   '/sandwiches'
+   '/supplies'
+   '/toppings'
+   '/toppings/cheese'
+   '/toppings/cheese.OLD'
+   '/toppings/lettuce'
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svndumpfilter.commands.c.help">
+
+        <indexterm>
+          <primary>svndumpfilter</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>help</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svndumpfilter help</refname>
+          <refpurpose>Help!</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svndumpfilter help  
[SUBCOMMAND...]</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Displays the help message
+            for <command>svndumpfilter</command>.  Unlike other help
+            commands documented in this chapter, there is no witty
+            commentary for this help command.  The authors of this
+            book deeply regret the omission.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+          <para>None</para>
+        </refsect1>
+
+      </refentry>
+
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svnlook.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,1400 @@
+<reference id="svn.ref.svnlook">
+  <title>svnlook Reference—Subversion Repository Examination</title>
+
+  <partintro>
+    <para><command>svnlook</command> is a command-line utility for
+      examining different aspects of a Subversion repository.  It
+      does not make any changes to the repository—it's just
+      used for <quote>peeking.</quote>
+      <command>svnlook</command> is typically used by the
+      repository hooks, but a repository administrator might find it
+      useful for diagnostic purposes.</para>
+
+    <para>Since <command>svnlook</command> works via direct repository  
access
+      (and thus can be used only on the machine that holds the
+      repository), it refers to the repository with a path, not a  
URL.</para>
+
+    <para>If no revision or transaction is specified,
+      <command>svnlook</command> defaults to the youngest (most
+      recent) revision of the repository.</para>
+
+      <para>Options in <command>svnlook</command> are global, just
+        as they are in <command>svn</command> and
+        <command>svnadmin</command>; however, most options apply
+        to only one subcommand since the functionality of
+        <command>svnlook</command> is (intentionally) limited in
+        scope:</para>
+
+      <variablelist>
+
+        <varlistentry id="svn.ref.svnlook.sw.copy_info">
+          <term><option>--copy-info</option></term>
+          <listitem>
+            <para>Causes <command>svnlook changed</command> to show
+              detailed copy source information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.diff_copy_from">
+          <term><option>--diff-copy-from</option></term>
+          <listitem>
+            <para>Print differences for copied items against the copy
+              source.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.extensions">
+          <term><option>--extensions</option> (<option>-x</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Specifies customizations which Subversion should
+              make when performing difference calculations.  Valid
+              extensions include:</para>
+            <variablelist>
+              <varlistentry>
+                <term><option>--ignore-space-change</option>  
(<option>-b</option>)</term>
+                <listitem>
+                  <para>Ignore changes in the amount of white space.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--ignore-all-space</option>  
(<option>-w</option>)</term>
+                <listitem>
+                  <para>Ignore all white space.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--ignore-eol-style</option></term>
+                <listitem>
+                  <para>Ignore changes in EOL (end-of-line) style.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--show-c-function</option>  
(<option>-p</option>)</term>
+                <listitem>
+                  <para>Show C function names in the diff output.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><option>--unified</option>  
(<option>-u</option>)</term>
+                <listitem>
+                  <para>Show three lines of unified diff context.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+            <para>The default value is <literal>-u</literal>.</para>
+            <para>Note that when Subversion is configured to invoke an
+              external diff command, the value of
+              the <option>--extension</option> (<option>-x</option>)
+              option isn't restricted to the previously mentioned
+              options, but may be <emphasis>any</emphasis> additional
+              arguments which Subversion should pass to that command.
+              If you wish to pass multiple arguments, you must enclose
+              all of them in quotes.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.full_paths">
+          <term><option>--full-paths</option></term>
+          <listitem>
+            <para>Causes <command>svnlook tree</command> to display
+              full paths instead of hierarchical, indented path
+              components.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.limit">
+          <term><option>--limit</option> (<option>-l</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Limit output to a maximum number of
+              <replaceable>ARG</replaceable> items.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.no_diff_deleted">
+          <term><option>--no-diff-deleted</option></term>
+          <listitem>
+            <para>Prevents <command>svnlook diff</command> from printing
+              differences for deleted files.  The default behavior
+              when a file is deleted in a transaction/revision is
+              to print the same differences that you would see if
+              you had left the file but removed all the content.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.no_diff_added">
+          <term><option>--no-diff-added</option></term>
+        <listitem>
+          <para>Prevents <command>svnlook diff</command> from printing
+            differences for added files.  The default behavior when
+            you add a file is to print the same differences that you
+            would see if you had added the entire contents of an
+            existing (empty) file.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.non_recursive">
+          <term><option>--non-recursive</option>  
(<option>-N</option>)</term>
+          <listitem>
+            <para>Operate on a single directory only.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.revision">
+          <term><option>--revision</option> (<option>-r</option>)</term>
+          <listitem>
+            <para>Specifies a particular revision number that you wish
+              to examine.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.revprop">
+          <term><option>--revprop</option></term>
+          <listitem>
+            <para>Operates on a revision property instead of a
+              property specific to a file or directory.  This option
+              requires that you also pass a revision with the
+              <option>--revision</option> (<option>-r</option>)
+              option.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.show_inherited_props">
+          <term><option>--show-inherited-props</option></term>
+          <listitem>
+            <para>Works with <command>svnlook propget</command> and
+              <command>svnlook proplist</command> to display the versioned
+              properties inherited by a path.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.transaction">
+          <term><option>--transaction</option> (<option>-t</option>)</term>
+          <listitem>
+            <para>Specifies a particular transaction ID that you wish to
+              examine.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.show_ids">
+          <term><option>--show-ids</option></term>
+          <listitem>
+            <para>Shows the filesystem node revision IDs for each path in  
the filesystem
+              tree.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.verbose">
+          <term><option>--verbose</option> (<option>-v</option>)</term>
+          <listitem>
+            <para>Be verbose.  When used with <command>svnlook
+              proplist</command>, for example, this causes Subversion
+              to display not just the list of properties, but their
+              values also.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnlook.sw.xml">
+          <term><option>--xml</option></term>
+          <listitem>
+            <para></para>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+  </partintro>
+
+    <!-- ===============================================================  
-->
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.author">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>author</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook author</refname>
+          <refpurpose>Print the author.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook author REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the author of a revision or transaction in
+            the repository.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+        <para><command>svnlook author</command> is handy, but not
+          very exciting:</para>
+
+        <informalexample>
+            <screen>
+$ svnlook author -r 40 /var/svn/repos
+sally
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.cat">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>cat</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook cat</refname>
+          <refpurpose>Print the contents of a file.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook cat REPOS_PATH  
PATH_IN_REPOS</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the contents of a file.</para>
+
+          </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows the contents of a file in transaction
+            <literal>ax8</literal>, located at
+            <filename>/trunk/README</filename>:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook cat -t ax8 /var/svn/repos /trunk/README
+
+               Subversion, a version control system.
+               =====================================
+
+$LastChangedDate: 2003-07-17 10:45:25 -0500 (Thu, 17 Jul 2003) $
+
+Contents:
+
+     I. A FEW POINTERS
+    II. DOCUMENTATION
+   III. PARTICIPATING IN THE SUBVERSION COMMUNITY
+…
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.changed">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>changed</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook changed</refname>
+          <refpurpose>Print the paths that were changed.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook changed REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the paths that were changed in a particular
+            revision or transaction, as well as <quote>svn
+            update-style</quote> status letters in the first two
+            columns:</para>
+
+          <variablelist>
+
+            <varlistentry>
+              <term><literal>'A '</literal></term>
+              <listitem>
+                <para>Item added to repository</para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term><literal>'D '</literal></term>
+              <listitem>
+                <para>Item deleted from repository</para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term><literal>'U '</literal></term>
+              <listitem>
+                <para>File contents changed</para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term><literal>'_U'</literal></term>
+              <listitem>
+                <para>Properties of item changed; note the leading  
underscore</para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term><literal>'UU'</literal></term>
+              <listitem>
+                <para>File contents and properties changed</para>
+              </listitem>
+            </varlistentry>
+
+          </variablelist>
+
+          <para>Files and directories can be distinguished, as
+            directory paths are displayed with a
+            trailing <quote><literal>/</literal></quote>
+            character.</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.copy_info" />
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows a list of all the changed files and
+            directories in revision 39 of a test repository.  Note
+            that the first changed item is a directory, as evidenced
+            by the trailing <literal>/</literal>:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook changed -r 39 /var/svn/repos
+A   trunk/vendors/deli/
+A   trunk/vendors/deli/chips.txt
+A   trunk/vendors/deli/sandwich.txt
+A   trunk/vendors/deli/pickle.txt
+U   trunk/vendors/baker/bagel.txt
+_U  trunk/vendors/baker/croissant.txt
+UU  trunk/vendors/baker/pretzel.txt
+D   trunk/vendors/baker/baguette.txt
+</screen>
+          </informalexample>
+
+          <para>Here's an example that shows a revision in which a
+            file was renamed:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook changed -r 64 /var/svn/repos
+A   trunk/vendors/baker/toast.txt
+D   trunk/vendors/baker/bread.txt
+</screen>
+          </informalexample>
+
+          <para>Unfortunately, nothing in the preceding output reveals
+            the connection between the deleted and added files.  Use
+            the <option>--copy-info</option> option to make this
+            relationship more apparent:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook changed -r 64 --copy-info /var/svn/repos
+A + trunk/vendors/baker/toast.txt
+    (from trunk/vendors/baker/bread.txt:r63)
+D   trunk/vendors/baker/bread.txt
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.date">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>date</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook date</refname>
+          <refpurpose>Print the datestamp.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook date REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the datestamp of a revision or transaction in
+            a repository.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows the date of revision 40 of a test
+            repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook date -r 40 /var/svn/repos/
+2003-02-22 17:44:49 -0600 (Sat, 22 Feb 2003)
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.diff">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>diff</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook diff</refname>
+          <refpurpose>Print differences of changed files and  
properties.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook diff REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print GNU-style differences of changed files and
+            properties in a repository.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.diff_copy_from" />
+<xref linkend="svn.ref.svnlook.sw.no_diff_added" />
+<xref linkend="svn.ref.svnlook.sw.no_diff_deleted" />
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+<xref linkend="svn.ref.svnlook.sw.extensions" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows a newly added (empty) file, a modified
+            binary file, and a renamed (that is, copied and deleted)
+            file with modifications:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook diff -r 40 /var/svn/repos
+Copied: trunk/relish.txt (from rev 39, trunk/vendors/deli/pickle.txt)
+===================================================================
+--- trunk/relish.txt	                        (rev 0)
++++ trunk/relish.txt	2013-01-29 20:39:17 UTC (rev 40)
+@@ -0,0 +1 @@
++Pickle relish is mostly made from cucumbers.
+
+Deleted: trunk/vendors/deli/pickle.txt
+===================================================================
+--- trunk/vendors/deli/pickle.txt	                        (rev 39)
++++ trunk/vendors/deli/pickle.txt	2013-01-29 20:39:17 UTC (rev 49)
+@@ -1 +0,0 @@
+-Pickles are mostly made from cucumbers.
+
+Modified: trunk/vendors/deli/logo.jpg
+===================================================================
+(Binary files differ)
+
+Added: trunk/vendors/deli/soda.txt
+===================================================================
+$
+</screen>
+          </informalexample>
+
+          <para>By default, <command>svnlook diff</command> will treat
+            copied files very much like any other added file,
+            displaying in their entirety the contents of the new file
+            and merely using a different label to draw the copy/add
+            distinction.  However, you can use the
+            <option>--diff-copy-from</option> option to cause
+            <command>svnlook diff</command> to consider a copied
+            file as worthy of mention only if it differs from the file
+            from which it was copied, and to actually describe those
+            differences.</para>
+
+          <informalexample>
+            <screen>
+$ svnlook diff -r 40 /var/svn/repos --diff-copy-from
+Copied: trunk/relish.txt (from rev 39, trunk/vendors/deli/pickle.txt)
+===================================================================
+--- trunk/vendors/deli/pickle.txt	2013-01-29 20:39:17 UTC (rev 39)
++++ trunk/relish.txt	2013-01-29 20:47:40 UTC (rev 3)
+@@ -1 +1 @@
+-Pickles are mostly made from cucumbers.
++Pickle relish is mostly made from cucumbers.
+
+Deleted: trunk/vendors/deli/pickle.txt
+===================================================================
+--- trunk/vendors/deli/pickle.txt	(rev 39)
++++ trunk/vendors/deli/pickle.txt	2013-01-29 20:39:17 UTC (rev 40)
+@@ -1 +0,0 @@
+-Pickles are mostly made from cucumbers.
+
+Modified: trunk/vendors/deli/logo.jpg
+===================================================================
+(Binary files differ)
+
+Added: trunk/vendors/deli/soda.txt
+==============================================================================
+$
+</screen>
+          </informalexample>
+
+          <para>Use the <option>--no-diff-deleted</option> option to
+            silence output regarding deleted files.</para>
+
+          <informalexample>
+            <screen>
+$ svnlook diff -r 40 /var/svn/repos --no-diff-deleted
+Copied: trunk/relish.txt (from rev 39, trunk/vendors/deli/pickle.txt)
+===================================================================
+--- trunk/relish.txt	                        (rev 0)
++++ trunk/relish.txt	2013-01-29 20:39:17 UTC (rev 40)
+@@ -0,0 +1 @@
++Pickle relish is mostly made from cucumbers.
+
+Modified: trunk/vendors/deli/logo.jpg
+===================================================================
+(Binary files differ)
+
+Added: trunk/vendors/deli/soda.txt
+==============================================================================
+$
+</screen>
+          </informalexample>
+
+          <para>Note that in each of the previous examples, when a
+            file has a nontextual <literal>svn:mime-type</literal>
+            property, the differences are not explicitly shown.</para>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.dirs-changed">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>dirs-changed</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook dirs-changed</refname>
+          <refpurpose>Print the directories that were themselves  
changed.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook dirs-changed REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the directories that were themselves changed
+            (property edits) or whose file children were
+            changed.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows the directories that changed in
+            revision 40 in our sample repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook dirs-changed -r 40 /var/svn/repos
+trunk/vendors/deli/
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.filesize">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>filesize</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook filesize</refname>
+          <refpurpose>Print the size (in bytes) of a versioned
+            file.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook filesize REPOS_PATH
+            PATH_IN_REPOS</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the file size (in bytes) of the file located
+            at <replaceable>PATH_IN_REPOS</replaceable> in the HEAD
+            revision of the repository identified
+            by <replaceable>REPOS_PATH</replaceable> as a base-10
+            integer followed by an end-of-line character.  Use
+            the <option>--revision</option> (<option>-r</option>)
+            and <option>--transaction</option> (<option>-t</option>)
+            options to specify a version of the file other than HEAD
+            whose file size you wish to display.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>The following demonstrates how to display the size of
+            the <filename>trunk/vendors/deli/soda.txt</filename> file
+            as it appeared in revision 40 of our sample
+            repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook filesize -r 40 /var/svn/repos trunk/vendors/deli/soda.txt
+23
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.help">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>help</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook help (h, ?)</refname>
+          <refpurpose>Help!</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>Also svnlook -h and svnlook -?.</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Displays the help message
+            for <command>svnlook</command>.  This command, like its
+            brother, <command>svn help</command>, is also your friend,
+            even though you never call it anymore and forgot to invite
+            it to your last party.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+          <para>None</para>
+        </refsect1>
+
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.history">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>history</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook history</refname>
+          <refpurpose>Print information about the history of a path in
+            the repository (or the root directory if no path is
+            supplied).</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook history REPOS_PATH  
[PATH_IN_REPOS]</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print information about the history of a path in
+            the repository (or the root directory if no path is
+            supplied).</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.limit" />
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.show_ids" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows the history output for the path
+            <filename>/branches/bookstore</filename> as of revision 13 in  
our
+            sample repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook history -r 13 /var/svn/repos /branches/bookstore --show-ids
+REVISION   PATH <ID>
+--------   ---------
+      13   /branches/bookstore <1.1.r13/390>
+      12   /branches/bookstore <1.1.r12/413>
+      11   /branches/bookstore <1.1.r11/0>
+       9   /trunk <1.0.r9/551>
+       8   /trunk <1.0.r8/131357096>
+       7   /trunk <1.0.r7/294>
+       6   /trunk <1.0.r6/353>
+       5   /trunk <1.0.r5/349>
+       4   /trunk <1.0.r4/332>
+       3   /trunk <1.0.r3/335>
+       2   /trunk <1.0.r2/295>
+       1   /trunk <1.0.r1/532>
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.info">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>info</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook info</refname>
+          <refpurpose>Print the author, datestamp, log message size,
+            and log message.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook info REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the author, datestamp, log message size (in bytes),
+            and log message, followed by a newline character.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnlook.sw.revision" />
+<xref linkend="svn.ref.svnlook.sw.transaction" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This shows the info output for revision 40 in our
+            sample repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook info -r 40 /var/svn/repos
+sally
+2003-02-22 17:44:49 -0600 (Sat, 22 Feb 2003)
+16
+Rearrange lunch.
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.lock">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>lock</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook lock</refname>
+          <refpurpose>If a lock exists on a path in the repository,
+            describe it.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook lock REPOS_PATH  
PATH_IN_REPOS</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print all information available for the lock at
+            <replaceable>PATH_IN_REPOS</replaceable>.  If
+            <replaceable>PATH_IN_REPOS</replaceable> is not locked,
+            print nothing.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <para>None</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>This describes the lock on the file
+            <filename>tree.jpg</filename>:</para>
+
+          <informalexample>
+            <screen>
+$ svnlook lock /var/svn/repos tree.jpg
+UUID Token: opaquelocktoken:ab00ddf0-6afb-0310-9cd0-dda813329753
+Owner: harry
+Created: 2005-07-08 17:27:36 -0500 (Fri, 08 Jul 2005)
+Expires:
+Comment (1 line):
+Rework the uppermost branches on the bald cypress in the foreground.
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnlook.c.log">
+
+        <indexterm>
+          <primary>svnlook</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>log</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnlook log</refname>
+          <refpurpose>Print the log message, followed by a newline
+            character.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnlook log REPOS_PATH</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svnmucc.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,453 @@
+<reference id="svn.ref.svnmucc">
+  <title>svnmucc Reference—Subversion Multiple URL Command  
Client</title>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.svnmucc.re">
+
+      <indexterm>
+        <primary>svnmucc</primary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>svnmucc</refname>
+
+        <refpurpose>Perform one or more Subversion repository
+          URL-based ACTIONs, committing the result as a (single) new
+          revision.</refpurpose>
+      </refnamediv>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refsect1 id="svn.ref.svnmucc.re.syn">
+        <title>Synopsis</title>
+        <para><literal>svnmucc ACTION...</literal></para>
+      </refsect1>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refsect1 id="svn.ref.svnmucc.re.desc">
+        <title>Description</title>
+
+        <para><command>svnmucc</command> is a program for modifying
+          Subversion-versioned data without the use of a working copy.
+          It allows operations to be performed directly against the
+          repository URLs of the files and directories that the user
+          wishes to change.  Each invocation of <command>svnmucc</command>
+          attempts one or more <replaceable>ACTION</replaceable>s,
+          atomically committing the results of those combined
+          <replaceable>ACTION</replaceable>s as a single new
+          revision.</para>
+
+      </refsect1>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refsect1 id="svn.ref.svnmucc.re.actions">
+        <title>Actions</title>
+
+        <para><command>svnmucc</command> supports the following
+          actions (and related arguments), which may be combined into
+          ordered sequences on the command line:</para>
+
+        <variablelist>
+
+          <varlistentry>
+            <term>cp <replaceable>REV</replaceable>
+              <replaceable>SRC-URL</replaceable>
+              <replaceable>DST-URL</replaceable></term>
+            <listitem>
+              <para>Copy the file or directory located
+                at <replaceable>SRC-URL</replaceable> in
+                revision <replaceable>REV</replaceable>
+                to <replaceable>DST-URL</replaceable>.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>mkdir <replaceable>URL</replaceable></term>
+            <listitem>
+              <para>Create a new directory at  
<replaceable>URL</replaceable>.
+                The parent directory of <replaceable>URL</replaceable>
+                must already exist (or have been created by a
+                prior <command>svnmucc</command> action), as this
+                command does not offer the ability to automatically
+                create any missing intermediate parent
+                directories.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>mv <replaceable>SRC-URL</replaceable>
+              <replaceable>DST-URL</replaceable></term>
+            <listitem>
+              <para>Move the file or directory located
+                at <replaceable>SRC-URL</replaceable> to
+                <replaceable>DST-URL</replaceable>.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>rm <replaceable>URL</replaceable></term>
+            <listitem>
+              <para>Delete the file or directory located
+                at <replaceable>URL</replaceable>.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>put <replaceable>SRC-FILE</replaceable>
+              <replaceable>URL</replaceable></term>
+            <listitem>
+              <para>Add a new file—or modify an existing
+                one—located at <replaceable>URL</replaceable>,
+                copying the contents of the local file
+                <replaceable>SRC-FILE</replaceable> as the new contents
+                of the created or modified file.  As a special
+                consideration, <replaceable>SRC-FILE</replaceable> may
+                be <literal>-</literal> to instruct
+                <command>svnmucc</command> to read from standard input
+                rather than a local filesystem file.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>propsetf <replaceable>NAME</replaceable>
+              <replaceable>VALUE</replaceable>
+              <replaceable>URL</replaceable></term>
+            <listitem>
+              <para>Set the value of the
+                property <replaceable>NAME</replaceable> on the
+                target <replaceable>URL</replaceable>
+                to <replaceable>VALUE</replaceable>.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>propsetf <replaceable>NAME</replaceable>
+              <replaceable>FILE</replaceable>
+              <replaceable>URL</replaceable></term>
+            <listitem>
+              <para>Set the value of the
+                property <replaceable>NAME</replaceable> on the
+                target <replaceable>URL</replaceable>
+                to the contents of the file
+                <replaceable>FILE</replaceable>.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>propdel <replaceable>NAME</replaceable>
+              <replaceable>URL</replaceable></term>
+            <listitem>
+              <para>Delete the property <replaceable>NAME</replaceable>
+                from the target <replaceable>URL</replaceable>.</para>
+            </listitem>
+          </varlistentry>
+
+        </variablelist>
+      </refsect1>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refsect1 id="svn.ref.svnmucc.re.sw">
+        <title>Options</title>
+
+        <para>Options specified on the <command>svnmucc</command>
+          command line are global to all actions performed by that
+          command line.  The following is a list of the options
+          supported by this tool:</para>
+
+        <variablelist>
+
+          <varlistentry>
+            <term><option>--config-dir</option>
+              <replaceable>DIR</replaceable></term>
+            <listitem>
+              <para>Read configuration information from the specified
+                directory instead of the default location
+                (<filename>.subversion</filename> in the user's home
+                directory).</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--config-option</option>
+              <replaceable>CONFSPEC</replaceable></term>
+            <listitem>
+              <para>Set, for the duration of the command, the value
+                of a runtime configuration option.
+                <replaceable>CONFSPEC</replaceable> is a
+                string which specifies the configuration option
+                namespace, name and value that you'd like to assign,
+                formatted as
+                 
<replaceable>FILE</replaceable>:<replaceable>SECTION</replaceable>:<replaceable>OPTION</replaceable>=[<replaceable>VALUE</replaceable>].
+                In this syntax, <replaceable>FILE</replaceable>
+                and <replaceable>SECTION</replaceable> are the runtime
+                configuration file (either <literal>config</literal>
+                or <literal>servers</literal>) and the section
+                thereof, respectively, which contain the option whose
+                value you wish to
+                change.  <replaceable>OPTION</replaceable> is, of
+                course, the option itself,
+                and <replaceable>VALUE</replaceable> the value (if
+                any) you wish to assign to the option.  For example,
+                to temporarily disable the use of the automatic
+                property setting feature,
+                use  
<option>--config-option=config:miscellany:enable-auto-props=no</option>.
+                You can use this option multiple times to change
+                multiple option values simultaneously.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--extra-args</option> (<option>-X</option>)
+              <replaceable>ARGFILE</replaceable></term>
+            <listitem>
+              <para>Read additional would-be command-line arguments
+                from <replaceable>ARGFILE</replaceable>, one argument
+                per line.  As a special consideration,
+                <replaceable>ARGFILE</replaceable> may be
+                <literal>-</literal> to indicate that additional
+                arguments should be read instead from standard
+                input.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--file</option> (<option>-F</option>)
+              <replaceable>MSGFILE</replaceable></term>
+            <listitem>
+               <para>Use the contents of the  
<replaceable>MSGFILE</replaceable>
+                 as the log message for the commit.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--help</option> (<option>-h</option>,
+              <option>-?</option>)</term>
+            <listitem>
+               <para>Show program usage information and exit.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--message</option> (<option>-m</option>)
+              <replaceable>MSG</replaceable></term>
+            <listitem>
+               <para>Use <replaceable>MSG</replaceable> as the log
+                 message for the commit.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--no-auth-cache</option></term>
+            <listitem>
+              <para>Prevent caching of authentication information
+                (e.g., username and password) in the Subversion
+                runtime configuration directories.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--non-interactive</option></term>
+            <listitem>
+              <para>Disable all interactive prompting (e.g., requests
+                for authentication credentials).</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--revision</option> (<option>-r</option>)
+              <replaceable>REV</replaceable></term>
+            <listitem>
+              <para>Use revision <replaceable>REV</replaceable> as the
+                baseline revision for all changes made via
+                the <command>svnmucc</command> actions.  This is an
+                important option which users should habituate to using
+                whenever modifying existing versioned items to avoid
+                inadvertently undoing contemporary changes made by
+                fellow team members.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--root-url</option> (<option>-U</option>)
+              <replaceable>ROOT-URL</replaceable></term>
+            <listitem>
+              <para>Use <replaceable>ROOT-URL</replaceable> as a base
+                URL to which all other URL targets are relative.  This
+                URL need not be the repository's root URL (such
+                as might be reported by <command>svn info</command>).
+                It can be any URL common to the various targets which
+                are specified in the <command>svnmucc</command>
+                actions.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--password</option> (<option>-p</option>)
+              <replaceable>PASSWD</replaceable></term>
+            <listitem>
+              <para>Use <replaceable>PASSWD</replaceable> as the
+                password when authenticating against a Subversion
+                server.  If not provided, or if incorrect, Subversion
+                will prompt you for this information as needed.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--username</option>
+              <replaceable>NAME</replaceable></term>
+            <listitem>
+              <para>Use <replaceable>USERNAME</replaceable> as the
+                username when authenticating against a Subversion
+                server.  If not provided, or if incorrect, Subversion
+                will prompt you for this information as needed.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--version</option></term>
+            <listitem>
+              <para>Display the program's version information and
+                exit.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><option>--with-revprop</option>
+               
<replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></term>
+            <listitem>
+              <para>Set the value of the revision property
+                <replaceable>NAME</replaceable> to
+                <replaceable>VALUE</replaceable> on the committed
+                revision.</para>
+            </listitem>
+          </varlistentry>
+
+        </variablelist>
+      </refsect1>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refsect1 id="svn.ref.svnmucc.re.examples">
+        <title>Examples</title>
+
+        <para>To (safely) modify a file's contents without using a
+          working copy, use <command>svn cat</command> to fetch the
+          current contents of the file, and <command>svnmucc
+          put</command> to commit the edited contents thereof.</para>
+
+        <informalexample>
+          <screen>
+$ # Calculate some convenience variables.
+$ export FILEURL=http://svn.example.com/projects/sandbox/README
+$ export BASEREV=`svn info ${FILEURL} | \
+                  grep '^Last Changed Rev' | cut -d ' ' -f 2`
+$ # Get a copy of the file's current contents.
+$ svn cat ${FILEURL}@${BASEREV} > /tmp/README.tmpfile
+$ # Edit the (copied) file.
+$ vi /tmp/README.tmpfile
+$ # Commit the new content for our file.
+$ svnmucc -r ${BASEREV} put README.tmpfile ${FILEURL} \
+          -m "Tweak the README file."
+r24 committed by harry at 2013-01-21T16:21:23.100133Z
+# Cleanup after ourselves.
+$ rm /tmp/README.tmpfile
+</screen>
+        </informalexample>
+
+        <para>Apply a similar approach to change a file or directory
+          property.  Simply use <command>svnmucc propget</command>
+          and <command>svnmucc propsetf</command> instead
+          of <command>svn cat</command> and <command>svnmucc
+          put</command>, respectively.</para>
+
+        <informalexample>
+          <screen>
+$ # Calculate some convenience variables.
+$ export PROJURL=http://svn.example.com/projects/sandbox
+$ export BASEREV=`svn info ${PROJURL} | \
+                  grep '^Last Changed Rev' | cut -d ' ' -f 2`
+$ # Get a copy of the directory's "license" property value.
+$ svnmucc -r ${BASEREV} propget license ${PROJURL} > /tmp/prop.tmpfile
+$ # Tweak the property.
+$ vi /tmp/prop.tmpfile
+$ # Commit the new property value.
+$ svnmucc -r ${BASEREV} propsetf prop.tmpfile ${PROJURL} \
+          -m "Tweak the project directory 'license' property."
+r25 committed by harry at 2013-01-21T16:24:11.375936Z
+# Cleanup after ourselves.
+$ rm /tmp/prop.tmpfile
+</screen>
+        </informalexample>
+
+        <para>Let's look now at some multi-operation examples.</para>
+
+        <para>To implement a <quote>moving tag</quote>, where a single
+          tag name is recycled to point to different snapshots (for
+          example, the current latest stable version) of a codebase,
+          use <command>svnmucc rm</command> and <command>svnmucc
+          cp</command>:</para>
+
+        <informalexample>
+          <screen>
+$ svnmucc -U http://svn.example.com/projects/doohickey \
+          rm tags/latest-stable \
+          cp HEAD trunk tags/latest-stable \
+          -m "Slide the 'latest-stable' tag forward."
+r134 committed by harry at 2013-01-12T11:02:16.142536Z
+$
+</screen>
+        </informalexample>
+
+        <para>In the previous example, we slyly introduced the use of
+          the <option>--root-url (-U)</option> option.  Use this
+          option to specify a base URL to which all other operand URLs
+          are treated as relative (and save yourself some
+          typing).</para>
+
+        <para>The following shows an example of using
+          <command>svnmucc</command> to, in a single revision, create
+          a new tag of your project which includes a newly created
+          descriptive file and which lacks a directory which shouldn't
+          be included in, say, a release tarball.</para>
+
+        <informalexample>
+          <screen>
+$ echo "This is the 1.2.0 release." | \
+       svnmucc -U http://svn.example.com/projects/doohickey \
+               -m "Tag the 1.2.0 release." \
+               -- \
+               cp HEAD trunk tags/1.2.0 \
+               rm tags/1.2.0/developer-notes \
+               put - tags/1.2.0/README.tag
+r164 committed by cmpilato at 2013-01-22T05:26:15.563327Z
+$ svn log -c 164 -v http://svn.example.com/projects/doohickey
+------------------------------------------------------------------------
+r164 | cmpilato | 2013-01-22 00:26:15 -0500 (Tue, 22 Jan 2013) | 1 line
+Changed paths:
+   A /tags/1.2.0 (from /trunk:163)
+   A /tags/1.2.0/README.tag
+   D /tags/1.2.0/developer-notes
+
+Tag the 1.2.0 release.
+$
+</screen>
+        </informalexample>
+
+        <para>The previous example demonstrates not only how to do
+          several different things in a single <command>svnmucc</command>
+          invocation, but also the use of standard input as the source
+          of new file contents.  Note the presence of <literal>--</literal>
+          to indicate that no more options follow on the command line.
+          This is required so that the bare <literal>-</literal> used
+          in the <command>svnmucc put</command> action won't be
+          flagged as a malformed option indicator.</para>
+
+      </refsect1>
+
+    </refentry>
+
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svnrdump.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,334 @@
+<reference id="svn.ref.svnrdump">
+  <title>svnrdump Reference—Remote Subversion Repository Data  
Migration</title>
+
+  <partintro>
+    <para><command>svnrdump</command> joined the Subversion tool chain
+      in the Subversion 1.7 release.  It is best described as a
+      network-aware version of the <command>svnadmin dump</command>
+      and <command>svnadmin load</command> commands, paired together
+      and released as a separate standalone program.  We discuss the
+      process of dumping and loading repository data—using
+      both <command>svnadmin</command>
+      and <command>svnrdump</command>— in
+      <xref linkend="svn.reposadmin.maint.migrate" />.</para>
+
+      <para>Options in <command>svnrdump</command> are global, just
+        as they are in <command>svn</command> and
+        <command>svnadmin</command>:</para>
+
+      <variablelist>
+
+        <varlistentry id="svn.ref.svnrdump.sw.config_dir">
+          <term><option>--config-dir</option>  
<replaceable>DIR</replaceable></term>
+          <listitem>
+            <para>Instructs Subversion to read configuration
+              information from the specified directory instead of the
+              default location (<filename>.subversion</filename> in
+              the user's home directory).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.config_option">
+          <term><option>--config-option</option>  
<replaceable>FILE</replaceable>:<replaceable>SECTION</replaceable>:<replaceable>OPTION</replaceable>=[<replaceable>VALUE</replaceable>]</term>
+          <listitem>
+            <para>Sets, for the duration of the command, the value of
+              a runtime configuration
+              option.  <replaceable>FILE</replaceable>
+              and <replaceable>SECTION</replaceable> are the runtime
+              configuration file (either <literal>config</literal>
+              or <literal>servers</literal>) and the section thereof,
+              respectively, which contain the option whose value you
+              wish to change.  <replaceable>OPTION</replaceable> is,
+              of course, the option itself,
+              and <replaceable>VALUE</replaceable> the value (if any)
+              you wish to assign to the option.  For example, to
+              temporarily disable the use of the automatic property
+              setting feature,
+              use  
<option>--config-option=servers:global:http-library=serf</option>.
+              You can use this option multiple times to change
+              multiple option values simultaneously.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.incremental">
+          <term><option>--incremental</option></term>
+          <listitem>
+            <para>Dump a revision or revision range only as a diff
+              against the previous revision, instead of the default,
+              which is begin a dumped revision range with a complete
+              expansion of all contents of the repository as of that
+              revision.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.no_auth_cache">
+          <term><option>--no-auth-cache</option></term>
+          <listitem>
+            <para>Prevents caching of authentication information
+              (e.g., username and password) in the Subversion
+              runtime configuration directories.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.non_interactive">
+          <term><option>--non-interactive</option></term>
+          <listitem>
+            <para>In the case of an authentication failure or
+              insufficient credentials, prevents prompting for
+              credentials (e.g., username or password).  This is useful
+              if you're running Subversion inside an automated
+              script and it's more appropriate to have Subversion fail
+              than to prompt for more information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.password">
+          <term><option>--password</option>  
<replaceable>PASSWD</replaceable></term>
+          <listitem>
+            <para>Specifies the password to use when authenticating
+              against a Subversion server.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.quiet">
+          <term><option>--quiet</option> (<option>-q</option>)</term>
+          <listitem>
+            <para>Requests that the client print only essential
+              information while performing an operation.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.revision">
+          <term><option>--revision</option> (<option>-r</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Used by <command>svnsync copy-revprops</command> to
+              specify a particular revision or revision range on which
+              to operate.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.trust_server_cert">
+          <term><option>--trust-server-cert</option></term>
+          <listitem>
+            <para>Used with <option>--non-interactive</option> to accept
+              any unknown SSL server certificates without prompting.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnrdump.sw.username">
+          <term><option>--username</option>  
<replaceable>NAME</replaceable></term>
+          <listitem>
+            <para>Specifies the username to use when authenticating
+              against a Subversion server.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+  </partintro>
+
+    <!-- ===============================================================  
-->
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnrdump.c.dump">
+
+        <indexterm>
+          <primary>svnrdump</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>dump</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnrdump dump</refname>
+          <refpurpose></refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnrdump dump SOURCE_URL</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Dump—that is, generate a repository dump stream
+            of—revisions of the repository item located
+            at <replaceable>SOURCE_URL</replaceable>, printing the
+            information to standard output.  By default, the entire
+            history will be included in the dump stream, but the scope
+            of the operation can be limited via the use of
+            the <option>--revision</option> (<option>-r</option>)
+            option.</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnrdump.sw.config_dir" />
+<xref linkend="svn.ref.svnrdump.sw.config_option" />
+<xref linkend="svn.ref.svnrdump.sw.incremental" />
+<xref linkend="svn.ref.svnrdump.sw.no_auth_cache" />
+<xref linkend="svn.ref.svnrdump.sw.non_interactive" />
+<xref linkend="svn.ref.svnrdump.sw.password" />
+<xref linkend="svn.ref.svnrdump.sw.quiet" />
+<xref linkend="svn.ref.svnrdump.sw.revision" />
+<xref linkend="svn.ref.svnrdump.sw.trust_server_cert" />
+<xref linkend="svn.ref.svnrdump.sw.username" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Generate a dump stream of the full history of a remote
+            repository (assuming that the user as who this runs has
+            authorization to read all paths in the repository).</para>
+
+          <informalexample>
+            <screen>
+$ svnrdump dump http://svn.example.com/repos/calc > full.dump
+* Dumped revision 0.
+* Dumped revision 1.
+* Dumped revision 2.
+…
+</screen>
+          </informalexample>
+
+          <para>Incrementally dump a single revision from that same
+            repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnrdump dump http://svn.example.com/repos/calc \
+           -r 21 --incremental > full.dump
+* Dumped revision 21.
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnrdump.c.help">
+
+        <indexterm>
+          <primary>svnrdump</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>help</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnrdump help</refname>
+          <refpurpose>Help!</refpurpose>
+        </refnamediv>
+        <refsect1>
+
+          <title>Synopsis</title>
+          <para><literal>svnrdump help</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Use this to get help.  Well, certain kinds of help.
+            Need white lab coat and straightjackets kind of help?
+            There's a whole different protocol for that sort of
+            thing.</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+          <para>None</para>
+        </refsect1>
+
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnrdump.c.load">
+
+        <indexterm>
+          <primary>svnrdump</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>load</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnrdump load</refname>
+          <refpurpose></refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnrdump load DEST_URL</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Read from standard input revision information
+            described in a Subversion repository dump stream, and load
+            that information into the repository located
+            at <replaceable>DEST_URL</replaceable>.</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnrdump.sw.config_dir" />
+<xref linkend="svn.ref.svnrdump.sw.config_option" />
+<xref linkend="svn.ref.svnrdump.sw.no_auth_cache" />
+<xref linkend="svn.ref.svnrdump.sw.non_interactive" />
+<xref linkend="svn.ref.svnrdump.sw.password" />
+<xref linkend="svn.ref.svnrdump.sw.quiet" />
+<xref linkend="svn.ref.svnrdump.sw.trust_server_cert" />
+<xref linkend="svn.ref.svnrdump.sw.username" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Dump the contents of a local repository, and
+            use <command>svnrdump load</command> to transfer that
+            revision information into an existing remote
+            repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnadmin dump -q /var/svn/repos/new-project | \
+      svnrdump load http://svn.example.com/repos/new-project
+* Loaded revision 0
+* Loaded revision 1.
+* Loaded revision 2.
+…
+</screen>
+          </informalexample>
+
+          <note>
+            <para>To operate properly <command>svnrdump load</command>
+              requires that the target repository have revision
+              property modification enabled via the pre-revprop-change
+              hook.  For details about that hook, see
+              <xref linkend="svn.ref.reposhooks.pre-revprop-change"
+              />.</para>
+          </note>
+
+        </refsect1>
+      </refentry>
+
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svnserve.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,279 @@
+<reference id="svn.ref.svnserve">
+  <title>svnserve Reference—Custom Subversion Server</title>
+
+  <!-- =============================================================== -->
+  <refentry id="svn.ref.svnserve.re">
+
+    <indexterm>
+      <primary>svnserve</primary>
+    </indexterm>
+
+    <refnamediv>
+      <refname>svnserve</refname>
+      <refpurpose>Serve Subversion repositories via Subversion's
+        custom network protocol</refpurpose>
+    </refnamediv>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <refsect1 id="svn.ref.svnserve.re.syn">
+      <title>Synopsis</title>
+      <para><literal>svnserve [-d | -i | -t | -X]  
OPTIONS...</literal></para>
+    </refsect1>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <refsect1 id="svn.ref.svnserve.re.desc">
+      <title>Description</title>
+
+      <para><command>svnserve</command> allows access to Subversion
+        repositories using Subversion's custom network
+        protocol.</para>
+
+      <para>You can run <command>svnserve</command> as a standalone
+        server process (for clients that are using the
+        <literal>svn://</literal> access method); you can have a
+        daemon such as <command>inetd</command>
+        or <command>xinetd</command> launch it for you on demand (also
+        for <literal>svn://</literal>), or you can have
+        <command>sshd</command> launch it on demand for the
+        <literal>svn+ssh://</literal> access method.</para>
+
+      <para>Regardless of the access method, once the client has
+        selected a repository by transmitting its URL,
+        <command>svnserve</command> reads a file named
+        <filename>conf/svnserve.conf</filename> in the repository
+        directory to determine repository-specific settings such as
+        what authentication database to use and what authorization
+        policies to apply.  See
+        <xref linkend="svn.serverconfig.svnserve"/> for details of the
+        <filename>svnserve.conf</filename> file.</para>
+
+    </refsect1>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <refsect1 id="svn.ref.svnserve.re.options">
+      <title>Options</title>
+
+      <para>Unlike the previous commands we've
+        described, <command>svnserve</command> has no
+        subcommands—it is controlled exclusively by
+        options.</para>
+
+      <variablelist>
+
+        <varlistentry id="svn.ref.svnserve.sw.cache_fulltexts">
+          <term><option>--cache-fulltexts</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Toggles support for fulltext file content caching (in
+              FSFS repositories only).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.cache_txdeltas">
+          <term><option>--cache-txdeltas</option>  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Toggles support for file content delta caching (in
+              FSFS repositories only).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.compression">
+          <term><option>--compression</option>  
<replaceable>LEVEL</replaceable></term>
+          <listitem>
+            <para>Specifies the level of compression used for wire
+              transmissions as an integer beween 0 and 9, inclusive.
+              A value of <literal>9</literal> offers the best
+              compression, <literal>5</literal> is the default value,
+              and <literal>0</literal> disables compression
+              altogether.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.daemon">
+          <term><option>--daemon</option> (<option>-d</option>)</term>
+          <listitem>
+            <para>Causes <command>svnserve</command> to run in daemon
+              mode.  <command>svnserve</command> backgrounds itself
+              and accepts and serves TCP/IP connections on
+              the <literal>svn</literal> port (3690, by
+              default).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.foreground">
+          <term><option>--foreground</option></term>
+          <listitem>
+            <para>When used together with <option>-d</option>,
+              causes <command>svnserve</command> to stay in the
+              foreground.  This is mainly useful for debugging.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.inetd">
+          <term><option>--inetd</option> (<option>-i</option>)</term>
+          <listitem>
+            <para>Causes <command>svnserve</command> to use the
+              <filename>stdin</filename> and <filename>stdout</filename>  
file descriptors, as is appropriate for a
+              daemon running out of <command>inetd</command>.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.help">
+          <term><option>--help</option> (<option>-h</option>)</term>
+          <listitem>
+            <para>Displays a usage summary and exits.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.listen_host">
+          <term><option>--listen-host</option>  
<replaceable>HOST</replaceable></term>
+          <listitem>
+            <para>Causes <command>svnserve</command> to listen on the
+              interface specified by <replaceable>HOST</replaceable>,
+              which may be either a hostname or an IP address.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.listen_once">
+          <term><option>--listen-once</option> (<option>-X</option>)</term>
+          <listitem>
+            <para>Causes <command>svnserve</command> to accept one
+              connection on the <literal>svn</literal> port, serve it,
+              and exit.  This option is mainly useful for
+              debugging.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.listen_port">
+          <term><option>--listen-port</option>  
<replaceable>PORT</replaceable></term>
+          <listitem>
+            <para>Causes <command>svnserve</command> to listen on
+              <replaceable>PORT</replaceable> when run in daemon mode.
+              (FreeBSD daemons listen only on tcp6 by default—this
+              option tells them to also listen on tcp4.)</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.log_file">
+          <term><option>--log-file</option>  
<replaceable>FILENAME</replaceable></term>
+          <listitem>
+            <para>Instructs <command>svnserve</command> to create (if
+              necessary) and use the file located
+              at <replaceable>FILENAME</replaceable> for Subversion
+              operational log output of the same sort
+              that <command>mod_dav_svn</command> generates.  See
+              <xref linkend="svn.serverconfig.operational-logging" />
+              for details.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.memory_cache_size">
+          <term><option>--memory-cache-size</option> (<option>-M</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Configures the size (in Megabytes) of the extra
+              in-memory cache used to minimize redundant operations.
+              The default value is <literal>16</literal>.  (This cache
+              is used for FSFS-backed repositories only.)</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.pid_file">
+          <term><option>--pid-file</option>  
<replaceable>FILENAME</replaceable></term>
+          <listitem>
+            <para>Causes <command>svnserve</command> to write its
+              process ID to <replaceable>FILENAME</replaceable>, which
+              must be writable by the user under
+              which <command>svnserve</command> is running.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.prefer_ipv6">
+          <term><option>--prefer-ipv6</option> (<option>-6</option></term>
+          <listitem>
+            <para>When resolving the listen hostname, prever an IPv6
+              answer over an IPv4 one.  IPv4 is preferred by
+              default.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.quiet">
+          <term><option>--quiet</option></term>
+          <listitem>
+            <para>Disables progress notifications.  Error output will
+              still be printed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.root">
+          <term><option>--root</option> (<option>-r</option>)  
<replaceable>ROOT</replaceable></term>
+          <listitem>
+            <para>Sets the virtual root for repositories served by
+              <command>svnserve</command>.  The pathname in URLs
+              provided by the client will be interpreted relative to
+              this root and will not be allowed to escape this
+              root.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.threads">
+          <term><option>--threads</option> (<option>-T</option>)</term>
+          <listitem>
+            <para>When running in daemon mode, causes
+              <command>svnserve</command> to spawn a thread instead of
+              a process for each connection (e.g., for when running on
+              Windows).  The <command>svnserve</command> process still
+              backgrounds itself at startup time.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.tunnel">
+          <term><option>--tunnel</option> (<option>-t</option>)</term>
+          <listitem>
+            <para>Causes <command>svnserve</command> to run in tunnel
+              mode, which is just like the <command>inetd</command>
+              mode of operation (both modes serve one connection over
+              <filename>stdin</filename>/<filename>stdout</filename>, and  
then exit), except that the connection
+              is considered to be preauthenticated with the username
+              of the current UID.  This flag is automatically passed
+              for you by the client when running over a tunnel agent
+              such as <command>ssh</command>.  That means there's
+              rarely any need for <emphasis>you</emphasis> to pass
+              this option to <command>svnserve</command>.  So, if you
+              find yourself
+              typing <literal>svnserve --tunnel</literal> on the
+              command line and wondering what to do next, see
+              <xref linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.tunnel_user">
+          <term><option>--tunnel-user</option>  
<replaceable>NAME</replaceable></term>
+          <listitem>
+            <para>Used in conjunction with the <option>--tunnel</option>
+              option, tells <command>svnserve</command> to assume that
+              <replaceable>NAME</replaceable> is the authenticated
+              user, rather than the UID of the <command>svnserve</command>
+              process.  This is useful for users wishing to share a single
+              system account over SSH, but to maintain separate commit
+              identities.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnserve.sw.version">
+          <term><option>--version</option></term>
+          <listitem>
+            <para>Displays version information and a list of repository
+            backend modules available, and then exits.</para>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </refsect1>
+  </refentry>
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svnsync.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,642 @@
+<reference id="svn.ref.svnsync">
+  <title>svnsync Reference—Subversion Repository Mirroring</title>
+
+  <partintro>
+    <para><command>svnsync</command> is the Subversion remote
+      repository mirroring tool.  Put simply, it allows you to replay
+      the revisions of one repository into another one.</para>
+
+    <para>In any mirroring scenario, there are two repositories: the
+      source repository, and the mirror (or <quote>sink</quote>)
+      repository.  The source repository is the repository from which
+      <command>svnsync</command> pulls revisions.  The mirror
+      repository is the destination for the revisions pulled from the
+      source repository.  Each of the repositories may be local or
+      remote—they are only ever addressed by their URLs.</para>
+
+    <para>The <command>svnsync</command> process requires only read
+      access to the source repository; it never attempts to modify it.
+      But obviously, <command>svnsync</command> requires both read and
+      write access to the mirror repository.</para>
+
+    <warning>
+      <para><command>svnsync</command> is very sensitive to changes
+        made in the mirror repository that weren't made as part of a
+        mirroring operation.  To prevent this from happening, it's
+        best if the <command>svnsync</command> process is the only
+        process permitted to modify the mirror repository.</para>
+    </warning>
+
+      <para>Options in <command>svnsync</command> are global, just
+        as they are in <command>svn</command> and
+        <command>svnadmin</command>:</para>
+
+      <variablelist>
+
+        <varlistentry id="svn.ref.svnsync.sw.allow_non_empty">
+          <term><option>--allow-non-empty</option></term>
+          <listitem>
+            <para>Disables the verification (which <command>svnsync
+              initialize</command> performs by default) that the
+              repository being initialized is empty of history
+              version.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.config_dir">
+          <term><option>--config-dir</option>  
<replaceable>DIR</replaceable></term>
+          <listitem>
+            <para>Instructs Subversion to read configuration
+              information from the specified directory instead of the
+              default location (<filename>.subversion</filename> in
+              the user's home directory).</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.config_option">
+          <term><option>--config-option</option>  
<replaceable>CONFSPEC</replaceable></term>
+          <listitem>
+            <para>Sets, for the duration of the command, the value of
+              a runtime configuration
+              option.  <replaceable>CONFSPEC</replaceable> is a string
+              which specifies the configuration option namespace, name
+              and value that you'd like to assign, formatted as
+               
<replaceable>FILE</replaceable>:<replaceable>SECTION</replaceable>:<replaceable>OPTION</replaceable>=[<replaceable>VALUE</replaceable>].
+              In this syntax, <replaceable>FILE</replaceable>
+              and <replaceable>SECTION</replaceable> are the runtime
+              configuration file (either <literal>config</literal>
+              or <literal>servers</literal>) and the section thereof,
+              respectively, which contain the option whose value you
+              wish to change.  <replaceable>OPTION</replaceable> is,
+              of course, the option itself,
+              and <replaceable>VALUE</replaceable> the value (if any)
+              you wish to assign to the option.  For example, to
+              temporarily disable the use of the automatic property
+              setting feature,
+              use  
<option>--config-option=servers:global:http-library=serf</option>.
+              You can use this option multiple times to change
+              multiple option values simultaneously.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.disable_locking">
+          <term><option>--disable-locking</option></term>
+          <listitem>
+            <para>Causes <command>svnsync</command> to bypass its own
+              exclusive access mechanisms and operate on the
+              assumption that its exclusive access to the mirror
+              repository is being guaranteed through some other,
+              out-of-band mechanism.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.no_auth_cache">
+          <term><option>--no-auth-cache</option></term>
+          <listitem>
+            <para>Prevents caching of authentication information
+              (e.g., username and password) in the Subversion
+              runtime configuration directories.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.non_interactive">
+          <term><option>--non-interactive</option></term>
+          <listitem>
+            <para>In the case of an authentication failure or
+              insufficient credentials, prevents prompting for
+              credentials (e.g., username or password).  This is useful
+              if you're running Subversion inside an automated
+              script and it's more appropriate to have Subversion fail
+              than to prompt for more information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.quiet">
+          <term><option>--quiet</option> (<option>-q</option>)</term>
+          <listitem>
+            <para>Requests that the client print only essential
+              information while performing an operation.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.revision">
+          <term><option>--revision</option> (<option>-r</option>)  
<replaceable>ARG</replaceable></term>
+          <listitem>
+            <para>Used by <command>svnsync copy-revprops</command> to
+              specify a particular revision or revision range on which
+              to operate.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.source_password">
+          <term><option>--source-password</option>  
<replaceable>PASSWD</replaceable></term>
+          <listitem>
+            <para>Specifies the password for the Subversion server
+              from which you are syncing.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.source_prop_encoding ">
+          <term><option>--source-prop-encoding  
<replaceable>ARG</replaceable></option></term>
+          <listitem>
+            <para>Instructs <command>svnsync</command> to assume that
+              translatable Subversion revision properties found in the
+              source repository are stored using the character
+              encoding <replaceable>ARG</replaceable> and to transcode
+              those into UTF-8 when copying them into the mirror
+              repository.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.source_username">
+          <term><option>--source-username</option>  
<replaceable>NAME</replaceable></term>
+          <listitem>
+            <para>Specifies the username for the Subversion server
+              from which you are syncing.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.steal_lock">
+          <term><option>--steal-lock</option></term>
+          <listitem>
+            <para>Causes <command>svnsync</command> to steal, as
+              necessary, the lock which it uses on the mirror
+              repository to ensure exclusive repository access.  (This
+              option should only be used when a lock exists in the
+              mirror repository and is known to be stale—that
+              is, when you are certain that there are no
+              other <command>svnsync</command> processes accessing
+              that repository.)</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.sync_password">
+          <term><option>--sync-password</option>  
<replaceable>PASSWD</replaceable></term>
+          <listitem>
+            <para>Specifies the password for the Subversion server to
+              which you are syncing.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.sync_username">
+          <term><option>--sync-username</option>  
<replaceable>NAME</replaceable></term>
+          <listitem>
+            <para>Specifies the username for the Subversion server to
+              which you are syncing.  If not provided, or if
+              incorrect, Subversion will prompt you for this
+              information as needed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="svn.ref.svnsync.sw.trust_server_cert">
+          <term><option>--trust-server-cert</option></term>
+          <listitem>
+            <para>Used with <option>--non-interactive</option> to accept
+              any unknown SSL server certificates without prompting.</para>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+  </partintro>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnsync.c.copy-revprops">
+
+        <indexterm>
+          <primary>svnsync</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>copy-revprops</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnsync copy-revprops</refname>
+          <refpurpose>Copy all revision properties for a particular
+            revision (or range of revisions) from the source
+            repository to the mirror repository.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnsync copy-revprops DEST_URL
+            [SOURCE_URL]</literal></para>
+          <para><literal>svnsync copy-revprops DEST_URL
+            REV[:REV2]</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Because Subversion revision properties can be changed
+            at any time, it's possible that the properties for some
+            revision might be changed after that revision has already
+            been synchronized to another repository.  Because the
+            <command>svnsync synchronize</command> command operates
+            only on the range of revisions that have not yet been
+            synchronized, it won't notice a revision property change
+            outside that range.  Left as is, this causes a deviation
+            in the values of that revision's properties between the
+            source and mirror repositories.  <command>svnsync
+            copy-revprops</command> is the answer to this problem.
+            Use it to resynchronize the revision properties for a
+            particular revision or range of revisions.</para>
+
+          <para>When <replaceable>SOURCE_URL</replaceable> is
+            provided, <command>svnsync</command> will use it as the
+            repository URL which the destination repository is
+            mirroring. Generally, <replaceable>SOURCE_URL</replaceable>
+            will be exactly the same source URL as was used with
+            the <command>svnsync initialize</command> command when the
+            mirror was first set up.  You may choose, however, to
+            omit <replaceable>SOURCE_URL</replaceable>, in which
+            case <command>svnsync</command> will consult the mirror
+            repository's records to determine the source URL which
+            should be used.</para>
+
+          <warning>
+            <para>We strongly recommend that you specify the source
+              URL on the command-line, especially when untrusted users
+              have write access to the revision 0 properties
+              which <command>svnsync</command> uses to coordinate its
+              efforts.</para>
+          </warning>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnsync.sw.config_dir" />
+<xref linkend="svn.ref.svnsync.sw.config_option" />
+<xref linkend="svn.ref.svnsync.sw.disable_locking" />
+<xref linkend="svn.ref.svnsync.sw.no_auth_cache" />
+<xref linkend="svn.ref.svnsync.sw.non_interactive" />
+<xref linkend="svn.ref.svnsync.sw.quiet" />
+<xref linkend="svn.ref.svnsync.sw.revision" />
+<xref linkend="svn.ref.svnsync.sw.source_password" />
+<xref linkend="svn.ref.svnsync.sw.source_prop_encoding" />
+<xref linkend="svn.ref.svnsync.sw.source_username" />
+<xref linkend="svn.ref.svnsync.sw.steal_lock" />
+<xref linkend="svn.ref.svnsync.sw.sync_password" />
+<xref linkend="svn.ref.svnsync.sw.sync_username" />
+<xref linkend="svn.ref.svnsync.sw.trust_server_cert" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Resynchronize the revision properties associated with
+            a single revision (r6):</para>
+
+          <informalexample>
+            <screen>
+$ svnsync copy-revprops -r 6 file:///var/svn/repos-mirror \
+                             http://svn.example.com/repos
+Copied properties for revision 6.
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnsync.c.help">
+
+        <indexterm>
+          <primary>svnsync</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>help</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnsync help</refname>
+          <refpurpose>Help!</refpurpose>
+        </refnamediv>
+        <refsect1>
+
+          <title>Synopsis</title>
+          <para><literal>svnsync help</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>This subcommand is useful when you're trapped in a
+            foreign prison with neither a Net connection nor a copy of
+            this book, but you do have a local Wi-Fi network running
+            and you'd like to sync a copy of your repository over to
+            the backup server that Ira The Knife is running over in
+            cell block D.</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+          <para>None</para>
+        </refsect1>
+
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnsync.c.info">
+
+        <indexterm>
+          <primary>svnsync</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>info</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnsync info</refname>
+          <refpurpose>Print information about the synchronization
+            of a destination repository.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnsync info DEST_URL</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>Print the synchronization source URL, source repository
+            UUID and the last revision merged from the source to the
+            destination repository at  
<replaceable>DEST_URL</replaceable>.</para>
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnsync.sw.config_dir" />
+<xref linkend="svn.ref.svnsync.sw.config_option" />
+<xref linkend="svn.ref.svnsync.sw.no_auth_cache" />
+<xref linkend="svn.ref.svnsync.sw.non_interactive" />
+<xref linkend="svn.ref.svnsync.sw.source_password" />
+<xref linkend="svn.ref.svnsync.sw.source_username" />
+<xref linkend="svn.ref.svnsync.sw.sync_password" />
+<xref linkend="svn.ref.svnsync.sw.sync_username" />
+<xref linkend="svn.ref.svnsync.sw.trust_server_cert" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Print the synchronization information of a mirror
+            repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnsync info file:///var/svn/repos-mirror
+Source URL: http://svn.example.com/repos
+Source Repository UUID: e7fe1b91-8cd5-0310-98dd-2f12e793c5e8
+Last Merged Revision: 47
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnsync.c.init">
+
+        <indexterm>
+          <primary>svnsync</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>initialize</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnsync initialize (init)</refname>
+          <refpurpose>Initialize a mirror repository for
+            synchronization from the source repository.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnsync initialize MIRROR_URL
+            SOURCE_URL</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para><command>svnsync initialize</command> verifies that a
+            repository meets the basic requirements of a new mirror
+            repository and records the initial administrative
+            information that associates the mirror repository with the
+            source repository (specified
+            by <replaceable>SOURCE_URL</replaceable>).  This is the
+            first <command>svnsync</command> operation you run on a
+            would-be mirror repository.</para>
+
+          <para>Ordinarily, <replaceable>SOURCE_URL</replaceable> is
+            the URL of the root directory of the Subversion repository
+            you wish to mirror.  Subversion 1.5 and newer allow you to
+            use <command>svnsync</command> for partial repository
+            mirroring, though — simply specify the URL of the
+            source repository subdirectory you wish to mirror
+            as <replaceable>SOURCE_URL</replaceable>.</para>
+
+          <para>By default, the aforementioned basic requirements of a
+            mirror are that it allows revision property modifications
+            and that it contains no version history.  However, as of
+            Subversion 1.7, you may now optionally disable the
+            verification that the target repository is empty using
+            the <option>--allow-non-empty</option> option.  While the
+            use of this option should not become habitual (as it
+            bypasses a valuable safeguard mechanism), it does aid in
+            one very common use-case: initializing a copy of a
+            repository as a mirror of the original.  This is
+            especially handy when setting up new mirrors of
+            repositories which contain a large amount of version
+            history.  Rather than initialize a brand new repository as
+            a mirror and then syncronize all of the history into it,
+            administrators will find it <emphasis>significantly</emphasis>
+            faster to first make a copy of the mature repository
+            (perhaps using <command>svnadmin hotcopy</command>) and
+            then use <command>svnsync initialize
+            --allow-non-empty</command> to initialize that copy as a
+            mirror which is now already up-to-date with the
+            original.</para>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnsync.sw.allow_non_empty" />
+<xref linkend="svn.ref.svnsync.sw.config_dir" />
+<xref linkend="svn.ref.svnsync.sw.config_option" />
+<xref linkend="svn.ref.svnsync.sw.disable_locking" />
+<xref linkend="svn.ref.svnsync.sw.no_auth_cache" />
+<xref linkend="svn.ref.svnsync.sw.non_interactive" />
+<xref linkend="svn.ref.svnsync.sw.quiet" />
+<xref linkend="svn.ref.svnsync.sw.source_password" />
+<xref linkend="svn.ref.svnsync.sw.source_prop_encoding" />
+<xref linkend="svn.ref.svnsync.sw.source_username" />
+<xref linkend="svn.ref.svnsync.sw.steal_lock" />
+<xref linkend="svn.ref.svnsync.sw.sync_password" />
+<xref linkend="svn.ref.svnsync.sw.sync_username" />
+<xref linkend="svn.ref.svnsync.sw.trust_server_cert" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Fail to initialize a mirror repository due to
+            inability to modify revision properties:</para>
+
+          <informalexample>
+            <screen>
+$ svnsync initialize file:///var/svn/repos-mirror \
+                     http://svn.example.com/repos
+svnsync: Repository has not been enabled to accept revision propchanges;
+ask the administrator to create a pre-revprop-change hook
+$
+</screen>
+          </informalexample>
+
+          <para>Initialize a repository as a mirror, having already
+            created a <literal>pre-revprop-change</literal> hook that
+            permits all revision property changes:</para>
+
+          <informalexample>
+            <screen>
+$ svnsync initialize file:///var/svn/repos-mirror \
+                     http://svn.example.com/repos
+Copied properties for revision 0.
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+      </refentry>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
+      <refentry id="svn.ref.svnsync.c.sync">
+
+        <indexterm>
+          <primary>svnsync</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>synchronize</tertiary>
+        </indexterm>
+
+        <refnamediv>
+          <refname>svnsync synchronize (sync)</refname>
+          <refpurpose>Transfer all pending revisions from the source
+            repository to the mirror repository.</refpurpose>
+        </refnamediv>
+        <refsect1>
+          <title>Synopsis</title>
+          <para><literal>svnsync synchronize DEST_URL
+            [SOURCE_URL]</literal></para>
+        </refsect1>
+        <refsect1>
+          <title>Description</title>
+
+          <para>The <command>svnsync synchronize</command> command
+            does all the heavy lifting of a repository mirroring
+            operation.  After consulting with the mirror repository to
+            see which revisions have already been copied into it, it
+            then begins to copy any not-yet-mirrored revisions from
+            the source repository.</para>
+
+          <para><command>svnsync synchronize</command> can be
+            gracefully canceled and restarted.</para>
+
+          <para>When <replaceable>SOURCE_URL</replaceable> is
+            provided, <command>svnsync</command> will use it as the
+            repository URL which the destination repository is
+            mirroring. Generally, <replaceable>SOURCE_URL</replaceable>
+            will be exactly the same source URL as was used with
+            the <command>svnsync initialize</command> command when the
+            mirror was first set up.  You may choose, however, to
+            omit <replaceable>SOURCE_URL</replaceable>, in which
+            case <command>svnsync</command> will consult the mirror
+            repository's records to determine the source URL which
+            should be used.</para>
+
+          <warning>
+            <para>We strongly recommend that you specify the source
+              URL on the command-line, especially when untrusted users
+              have write access to the revision 0 properties
+              which <command>svnsync</command> uses to coordinate its
+              efforts.</para>
+          </warning>
+
+        </refsect1>
+
+        <refsect1>
+          <title>Options</title>
+
+          <informalexample>
+            <screen>
+<xref linkend="svn.ref.svnsync.sw.config_dir" />
+<xref linkend="svn.ref.svnsync.sw.config_option" />
+<xref linkend="svn.ref.svnsync.sw.disable_locking" />
+<xref linkend="svn.ref.svnsync.sw.no_auth_cache" />
+<xref linkend="svn.ref.svnsync.sw.non_interactive" />
+<xref linkend="svn.ref.svnsync.sw.quiet" />
+<xref linkend="svn.ref.svnsync.sw.source_password" />
+<xref linkend="svn.ref.svnsync.sw.source_prop_encoding" />
+<xref linkend="svn.ref.svnsync.sw.source_username" />
+<xref linkend="svn.ref.svnsync.sw.steal_lock" />
+<xref linkend="svn.ref.svnsync.sw.sync_password" />
+<xref linkend="svn.ref.svnsync.sw.sync_username" />
+<xref linkend="svn.ref.svnsync.sw.trust_server_cert" />
+</screen>
+          </informalexample>
+        </refsect1>
+
+        <refsect1>
+          <title>Examples</title>
+
+          <para>Copy unsynchronized revisions from the source
+            repository to the mirror repository:</para>
+
+          <informalexample>
+            <screen>
+$ svnsync synchronize file:///var/svn/repos-mirror \
+                      http://svn.example.com/repos
+Committed revision 1.
+Copied properties for revision 1.
+Committed revision 2.
+Copied properties for revision 2.
+Committed revision 3.
+Copied properties for revision 3.
+…
+Committed revision 45.
+Copied properties for revision 45.
+Committed revision 46.
+Copied properties for revision 46.
+Committed revision 47.
+Copied properties for revision 47.
+$
+</screen>
+          </informalexample>
+
+        </refsect1>
+
+      </refentry>
+
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /dev/null
+++ /trunk/en/book/ref-svnversion.xml	Tue Feb  5 13:51:43 2013
@@ -0,0 +1,186 @@
+<reference id="svn.ref.svnversion">
+  <title>svnversion Reference—Subversion Working Copy Version  
Info</title>
+
+    <!-- ===============================================================  
-->
+    <refentry id="svn.ref.svnversion.re">
+
+      <indexterm>
+        <primary>svnversion</primary>
+      </indexterm>
+
+      <refnamediv>
+        <refname>svnversion</refname>
+        <refpurpose>Summarize the local revision(s) of a working
+                    copy.</refpurpose>
+      </refnamediv>
+
+      <refsect1 id="svn.ref.svnversion.re.syn">
+        <title>Synopsis</title>
+        <para><literal>svnversion [OPTIONS] [WC_PATH  
[TRAIL_URL]]</literal></para>
+      </refsect1>
+
+      <refsect1 id="svn.ref.svnversion.re.desc">
+        <title>Description</title>
+
+        <para><command>svnversion</command> is a program for
+          summarizing the revision mixture of a working copy.  The
+          resultant revision number, or revision range, is written to
+          standard output.</para>
+
+        <para>It's common to use this output in your build process
+          when defining the version number of your program.</para>
+
+        <para><replaceable>TRAIL_URL</replaceable>, if present, is the
+          trailing portion of the URL used to determine whether
+          <replaceable>WC_PATH</replaceable> itself is switched
+          (detection of switches within
+          <replaceable>WC_PATH</replaceable> does not rely on
+          <replaceable>TRAIL_URL</replaceable>).</para>
+
+        <para>When <replaceable>WC_PATH</replaceable> is not defined,
+          the current directory will be used as the working copy path.
+          <replaceable>TRAIL_URL</replaceable> cannot be defined if
+          <replaceable>WC_PATH</replaceable> is not explicitly
+          given.</para>
+
+      </refsect1>
+
+      <refsect1 id="svn.ref.svnversion.re.sw">
+        <title>Options</title>
+
+        <para>Like <command>svnserve</command>,
+          <command>svnversion</command> has no subcommands—only
+          options:</para>
+
+        <variablelist>
+
+          <varlistentry id="svn.ref.svnversion.sw.no_newline">
+            <term><option>--no-newline</option>  
(<option>-n</option>)</term>
+            <listitem>
+              <para>Omits the usual trailing newline from the  
output.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry id="svn.ref.svnversion.sw.committed">
+            <term><option>--committed</option> (<option>-c</option>)</term>
+            <listitem>
+              <para>Uses the last-changed revisions rather than the
+              current (i.e., highest locally available) revisions.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry id="svn.ref.svnversion.sw.help">
+            <term><option>--help</option> (<option>-h</option>)</term>
+            <listitem>
+              <para>Prints a help summary.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry id="svn.ref.svnversion.sw.quiet">
+            <term><option>--quiet</option> (<option>-q</option>)</term>
+            <listitem>
+              <para>Requests that the program print only essential
+                information while performing an operation.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry id="svn.ref.svnversion.sw.version">
+            <term><option>--version</option></term>
+            <listitem>
+              <para>Prints the version of <command>svnversion</command>
+              and exit with no error.</para>
+            </listitem>
+          </varlistentry>
+
+        </variablelist>
+      </refsect1>
+
+      <refsect1 id="svn.ref.svnversion.re.examples">
+        <title>Examples</title>
+
+        <para>If the working copy is all at the same revision (e.g.,
+          immediately after an update), then that revision is
+          printed out:</para>
+
+        <informalexample>
+          <screen>
+$ svnversion
+4168
+</screen>
+        </informalexample>
+
+        <para>You can add <replaceable>TRAIL_URL</replaceable> to make
+          sure the working copy is not switched from what you
+          expect.  Note that the <replaceable>WC_PATH</replaceable>
+          is required in this command:</para>
+
+        <informalexample>
+          <screen>
+$ svnversion . /var/svn/trunk
+4168
+</screen>
+        </informalexample>
+
+        <para>For a mixed-revision working copy, the range of
+          revisions present is printed:</para>
+
+        <informalexample>
+          <screen>
+$ svnversion
+4123:4168
+</screen>
+        </informalexample>
+
+        <para>If the working copy contains modifications, a trailing
+          '<literal>M</literal>' is added:</para>
+
+        <informalexample>
+          <screen>
+$ svnversion
+4168M
+</screen>
+        </informalexample>
+
+        <para>If the working copy is switched, a trailing
+          '<literal>S</literal>' is added:</para>
+
+        <informalexample>
+          <screen>
+$ svnversion
+4168S
+</screen>
+        </informalexample>
+
+        <para><command>svnversion</command> will also inform you if
+          the target working copy is sparsely populated (see
+          <xref linkend="svn.advanced.sparsedirs" />) by attaching the
+          '<literal>P</literal>' code to its output:</para>
+
+        <informalexample>
+          <screen>
+$ svnversion
+4168P
+</screen>
+        </informalexample>
+
+        <para>Thus, here is a mixed-revision, sparsely populated and
+          switched working copy containing some local
+          modifications:</para>
+
+        <informalexample>
+          <screen>
+$ svnversion
+4123:4168MSP
+</screen>
+        </informalexample>
+
+      </refsect1>
+
+    </refentry>
+</reference>
+
+<!--
+local variables:
+sgml-parent-document: ("book.xml" "reference")
+end:
+-->
=======================================
--- /trunk/en/book/ch09-reference.xml	Tue Feb  5 08:18:19 2013
+++ /dev/null
@@ -1,12974 +0,0 @@
-<chapter id="svn.ref">
-  <title>Subversion Complete Reference</title>
-
-  <para>This chapter is intended to be a complete reference to using
-    Subversion.  It includes command summaries and examples for all
-    the command-line tools provided as part of the stock Subversion
-    distribution, configuration information for the Subversion server
-    modules, and other information that lends itself to a reference
-    format.</para>
-
-  <!-- =================================================================  
-->
-  <!-- =================================================================  
-->
-  <!-- =================================================================  
-->
-  <sect1 id="svn.ref.svn">
-    <title>svn—Subversion Command-Line Client</title>
-
-    <para><command>svn</command> is the official command-line client
-      of Subversion.  Its functionality is offered via a collection of
-      task-specific subcommands, most of which accept a number of
-      options for fine-grained control of the program's
-      behavior.</para>
-
-    <para>When using the <command>svn</command> program, subcommands
-      and other non-option arguments must appear in a specified order
-      on the command line.  Options, on the other hand, may appear
-      anywhere on the command line (after the program name, of
-      course), and in general, their order is irrelevant.  For
-      example, all of the following are valid ways to use <command>svn
-      status</command>, and are interpreted in exactly the same
-      way:</para>
-
-    <informalexample>
-      <screen>
-$ svn -vq status myfile
-$ svn status -v -q myfile
-$ svn -q status -v myfile
-$ svn status -vq myfile
-$ svn status myfile -qv
-</screen>
-    </informalexample>
-
-    <para>The following sections describe each of the various
-      subcommands and options provided by the <command>svn</command>
-      command-line client program, including some examples of each
-      subcommand's typical uses.</para>
-
-    <!-- ===============================================================  
-->
-    <sect2 id="svn.ref.svn.sw">
-      <title>svn Options</title>
-
-      <para>While Subversion has different options for its
-        subcommands, all options exist in a single
-        namespace—that is, each option is guaranteed to mean the
-        roughly same thing regardless of the subcommand you use it
-        with.  For example, <option>--verbose</option>
-        (<option>-v</option>) always means <quote>verbose
-        output,</quote> regardless of the subcommand you use it
-        with.</para>
-
-      <para>The <command>svn</command> command-line client usually
-        exits quickly with an error if you pass it an option which
-        does not apply to the specified subcommand.  But as of
-        Subversion 1.5, several of the options which apply to
-        all—or nearly all—of the subcommands have been
-        deemed acceptable by all subcommands, even if they have no
-        effect on some of them.  (This change was made primarily to
-        improve the client's ability to called from custom wrapping
-        scripts.)  These options appear grouped together in the
-        command-line client's usage messages as global options, as can
-        be seen in the following bit of output:</para>
-
-      <informalexample>
-        <screen>
-$ svn help upgrade
-upgrade: Upgrade the metadata storage format for a working copy.
-usage: upgrade [WCPATH...]
-
-  Local modifications are preserved.
-
-Valid options:
-  -q [--quiet]             : print nothing, or only summary information
-
-Global options:
-  --username ARG           : specify a username ARG
-  --password ARG           : specify a password ARG
-  --no-auth-cache          : do not cache authentication tokens
-  --non-interactive        : do no interactive prompting
-  --trust-server-cert      : accept SSL server certificates from unknown
-                             certificate authorities without prompting  
(but only
-                             with '--non-interactive')
-  --config-dir ARG         : read user configuration files from directory  
ARG
-  --config-option ARG      : set user configuration option in the format:
-                                 FILE:SECTION:OPTION=[VALUE]
-                             For example:
-                                 servers:global:http-library=serf
-$
-</screen>
-      </informalexample>
-
-      <para><command>svn</command> subcommands recognize the following
-        global options:</para>
-
-      <variablelist>
-
-        <varlistentry id="svn.ref.svn.sw.config_dir">
-          <term><option>--config-dir</option>  
<replaceable>DIR</replaceable></term>
-          <listitem>
-            <para>Instructs Subversion to read configuration
-              information from the specified directory instead of the
-              default location (<filename>.subversion</filename> in
-              the user's home directory).</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.config_option">
-          <term><option>--config-option</option>  
<replaceable>CONFSPEC</replaceable></term>
-          <listitem>
-            <para>Sets, for the duration of the command, the value of
-              a runtime configuration
-              option.  <replaceable>CONFSPEC</replaceable> is a string
-              which specifies the configuration option namespace, name
-              and value that you'd like to assign, formatted as
-               
<replaceable>FILE</replaceable>:<replaceable>SECTION</replaceable>:<replaceable>OPTION</replaceable>=[<replaceable>VALUE</replaceable>].
-              In this syntax, <replaceable>FILE</replaceable>
-              and <replaceable>SECTION</replaceable> are the runtime
-              configuration file (either <literal>config</literal>
-              or <literal>servers</literal>) and the section thereof,
-              respectively, which contain the option whose value you
-              wish to change.  <replaceable>OPTION</replaceable> is,
-              of course, the option itself,
-              and <replaceable>VALUE</replaceable> the value (if any)
-              you wish to assign to the option.  For example, to
-              temporarily disable the use of the automatic property
-              setting feature,
-              use  
<option>--config-option=config:miscellany:enable-auto-props=no</option>.
-              You can use this option multiple times to change
-              multiple option values simultaneously.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.no_auth_cache">
-          <term><option>--no-auth-cache</option></term>
-          <listitem>
-            <para>Prevents caching of authentication information
-              (e.g., username and password) in the Subversion
-              runtime configuration directories.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.non_interactive">
-          <term><option>--non-interactive</option></term>
-          <listitem>
-            <para>Disables all interactive prompting.  Some examples
-              of interactive prompting include requests for
-              authentication credentials and conflict resolution
-              decisions.  This is useful if you're running Subversion
-              inside an automated script and it's more appropriate
-              to have Subversion fail than to prompt for more
-              information.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.password">
-          <term><option>--password</option>  
<replaceable>PASSWD</replaceable></term>
-          <listitem>
-            <para>Specifies the password to use when authenticating
-              against a Subversion server.  If not provided, or if
-              incorrect, Subversion will prompt you for this
-              information as needed.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.trust_server_cert">
-          <term><option>--trust-server-cert</option></term>
-          <listitem>
-            <para>When used with <option>--non-interactive</option>,
-              instructs Subversion to accept SSL server certificates
-              issued by unknown certificate authorities without first
-              prompting the user.  For security's sake, you should use
-              this option only when the integrity of the remote server
-              and the network path between it and your client is known
-              to be trustworthy.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.username">
-          <term><option>--username</option>  
<replaceable>NAME</replaceable></term>
-          <listitem>
-            <para>Specifies the username to use when authenticating
-              against a Subversion server.  If not provided, or if
-              incorrect, Subversion will prompt you for this
-              information as needed.</para>
-          </listitem>
-        </varlistentry>
-
-      </variablelist>
-
-      <para>The rest of the options apply and are accepted by only a
-        subset of the subcommand.  They are as follows:</para>
-
-      <variablelist>
-
-        <varlistentry id="svn.ref.svn.sw.accept">
-          <term><option>--accept</option>  
<replaceable>ACTION</replaceable></term>
-          <listitem>
-            <para>Specifies an action for automatic conflict
-              resolution, disabling the interactive prompts which ask
-              the user how to handle each conflict as it is noticed.
-              Though which of the specific actions are applicable
-              differs depending on which subcommand is in use,
-              Subversion supports the following long (and short)
-              values for <replaceable>ACTION</replaceable>:</para>
-            <variablelist>
-              <varlistentry>
-                <term><literal>postpone</literal>
-                  (<literal>p</literal>)</term>
-                <listitem>
-                  <para>Take no resolution action at all and instead
-                    allow the conflicts to be recorded for future
-                    resolution.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>edit</literal>
-                  (<literal>e</literal>)</term>
-                <listitem>
-                  <para>Open each conflicted file in a text editor for
-                    manual resolution of line-based conflicts.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>launch</literal>
-                  (<literal>l</literal>)</term>
-                <listitem>
-                  <para>Launch an interactive merge conflict
-                    resolution tool for each conflicted file.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>base</literal></term>
-                <listitem>
-                  <para>Choose the file that was the (unmodified)
-                    <literal>BASE</literal> revision before you tried
-                    to integrate changes from the server into
-                    your working copy.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>working</literal></term>
-                <listitem>
-                  <para>Assuming that you've manually handled the
-                    conflict resolution, choose the version of the file
-                    as it currently stands in your working copy.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>mine-full</literal>
-                  (<literal>mf</literal>)</term>
-                <listitem>
-                  <para>Resolve conflicted files by preserving all
-                    local modifications and discarding all changes
-                    fetched from the server during the operation which
-                    caused the conflict.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>theirs-full</literal>
-                  (<literal>tf</literal>)</term>
-                <listitem>
-                  <para>Resolve conflicted files by discarding all
-                    local modifications and integrating all changes
-                    fetched from the server during the operation which
-                    caused the conflict.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>mine-conflict</literal>
-                  (<literal>mc</literal>)</term>
-                <listitem>
-                  <para>Resolve conflicted files by preferring local
-                    modifications over the changes fetched from the
-                    server in conflicting regions of each file's
-                    content.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><literal>theirs-conflict</literal>
-                  (<literal>tc</literal>)</term>
-                <listitem>
-                  <para>Resolve conflicted files by preferring the
-                    changes fetched from the server over local
-                    modifications in conflicting regions of each file's
-                    content.</para>
-                </listitem>
-              </varlistentry>
-            </variablelist>
-            <para>Consult the output of <command>svn help
-              <replaceable>SUBCOMMAND</replaceable></command> to see
-              exactly which actions are supported by the specific
-              subcommand of interest.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.allow_mixed_revisions">
-          <term><option>--allow-mixed-revisions</option></term>
-          <listitem>
-            <para>Disables the verification—performed by default
-              by <command>svn merge</command> as of Subversion
-              1.7—that the target of a merge operation and all
-              of its children are at a uniform revision.  While
-              merging into a single-revision working copy target is
-              the recommended best practice, this option may be used
-              to permit merges into mixed-revision working copies as
-              necessary.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.auto_props">
-          <term><option>--auto-props</option></term>
-          <listitem>
-            <para>Enables automatic property assignment (per runtime
-              configuration rules), overriding the
-              <literal>enable-auto-props</literal> runtime
-              configuration directive.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.change">
-          <term><option>--change</option> (<option>-c</option>)  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Perform the requested operation using a specific
-              <quote>change</quote>.  Generally speaking, this option
-              is syntactic sugar for <userinput>-r
-               
<replaceable>ARG-1</replaceable>:<replaceable>ARG</replaceable></userinput>.
-              Some subcommands permit a comma-separated list of
-              revision number arguments (e.g., <userinput>-c
-               
<replaceable>ARG1</replaceable>,<replaceable>ARG2</replaceable>,<replaceable>ARG3</replaceable></userinput>).
-              Alternatively, you can provide two arguments separated
-              by a dash (as
-              in <userinput>-c  
<replaceable>ARG1</replaceable>-<replaceable>ARG2</replaceable></userinput>)
-              to identify the range of revisions
-              between <replaceable>ARG1</replaceable>
-              and <replaceable>ARG2</replaceable>, inclusive.
-              Finally, if the revision argument is negated, the
-              implied revision range is reversed: <userinput>-c
-              -45</userinput> is equivalent to <userinput>-r
-              45:44</userinput>.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.changelist">
-          <term><option>--changelist</option> (<option>--cl</option>)  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Instructs Subversion to operate only on members of the  
changelist named
-              <replaceable>ARG</replaceable>.  You can use this option
-              multiple times to specify sets of changelists.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.depth">
-          <term><option>--depth</option>  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Instructs Subversion to limit the scope of an
-              operation to a particular tree
-              depth.  <replaceable>ARG</replaceable> is one of
-              <literal>empty</literal> (only the target
-              itself), <literal>files</literal> (the target and any
-              immediate file children thereof),
-              <literal>immediates</literal> (the target and any
-              immediate children thereof), or
-              <literal>infinity</literal> (the target and all of its
-              descendants—full recursion).</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.diff">
-          <term><option>--diff</option></term>
-          <listitem>
-            <para>Enables a special output mode for <command>svn
-              log</command> which includes a difference report (a
-              la <command>svn diff</command>) as part of each
-              revision's information.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.diff_cmd">
-          <term><option>--diff-cmd</option>  
<replaceable>CMD</replaceable></term>
-          <listitem>
-            <para>Specifies an external program to use to show
-              differences between files.  When <command>svn
-              diff</command> is invoked without this option, it uses
-              Subversion's internal differencing engine, which provides
-              unified diffs by default.  If you want to use an
-              external differencing program, use  
<option>--diff-cmd</option>.
-              You can then pass options to the specified program using the
-              <option>--extensions</option> (<option>-x</option>)
-              option.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.diff3_cmd">
-          <term><option>--diff3-cmd</option>  
<replaceable>CMD</replaceable></term>
-          <listitem>
-            <para>Specifies an external 3-way differencing program
-              (used to merge line-based changes into files).</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.dry_run">
-          <term><option>--dry-run</option></term>
-          <listitem>
-            <para>Goes through all the motions of running a command,
-              but makes no actual changes—either on disk or in
-              the repository.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.editor_cmd">
-          <term><option>--editor-cmd</option>  
<replaceable>CMD</replaceable></term>
-          <listitem>
-            <para>Specifies an external program to use to edit a log  
message
-              or a property value.  See the <literal>editor-cmd</literal>
-              section in <xref  
linkend="svn.advanced.confarea.opts.config"/>
-              for ways to specify a default editor.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.encoding">
-          <term><option>--encoding</option>  
<replaceable>ENC</replaceable></term>
-          <listitem>
-            <para>Tells Subversion that your commit message is
-              composed using the character encoding provided.  The
-              default character encoding is derived from your
-              operating system's native locale; use this option if
-              your commit message is composed using any other
-              encoding.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.extensions">
-          <term><option>--extensions</option> (<option>-x</option>)  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Specifies customizations which Subversion should
-              make when performing difference calculations.  Valid
-              extensions include:</para>
-            <variablelist>
-              <varlistentry>
-                <term><option>--ignore-space-change</option>  
(<option>-b</option>)</term>
-                <listitem>
-                  <para>Ignore changes in the amount of white space.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><option>--ignore-all-space</option>  
(<option>-w</option>)</term>
-                <listitem>
-                  <para>Ignore all white space.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><option>--ignore-eol-style</option></term>
-                <listitem>
-                  <para>Ignore changes in EOL (end-of-line) style.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><option>--show-c-function</option>  
(<option>-p</option>)</term>
-                <listitem>
-                  <para>Show C function names in the diff output.</para>
-                </listitem>
-              </varlistentry>
-              <varlistentry>
-                <term><option>--unified</option>  
(<option>-u</option>)</term>
-                <listitem>
-                  <para>Show three lines of unified diff context.</para>
-                </listitem>
-              </varlistentry>
-            </variablelist>
-            <para>The default value of <replaceable>ARG</replaceable>
-              is <literal>-u</literal>.  If you wish to pass multiple
-              arguments, you must enclose all of them in quotes.</para>
-            <para>Note that when Subversion is configured to invoke an
-              external diff command, the value of
-              the <option>--extension</option> (<option>-x</option>)
-              option isn't restricted to the previously mentioned
-              options, but may be <emphasis>any</emphasis> additional
-              arguments which Subversion should pass to that  
command.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.file">
-          <term><option>--file</option> (<option>-F</option>)  
<replaceable>FILENAME</replaceable></term>
-          <listitem>
-            <para>Uses the contents of the named file for the
-              specified subcommand.  Different subcommands do
-              different things with this content.  For example,
-              <command>svn commit</command> uses the content as a
-              commit log message, whereas <command>svn
-              propset</command> uses it as a property value.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.force">
-          <term><option>--force</option></term>
-          <listitem>
-            <para>Forces a particular command or operation to run.
-              Subversion will prevent you from performing some
-              operations in normal usage, but you can pass this option
-              to tell Subversion <quote>I know what I'm doing as well
-              as the possible repercussions of doing it, so let me at
-              'em.</quote> This option is the programmatic equivalent
-              of doing your own electrical work with the power
-              on—if you don't know what you're doing, you're
-              likely to get a nasty shock.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.force_log">
-          <term><option>--force-log</option></term>
-          <listitem>
-            <para>Forces a suspicious parameter passed to the
-              <option>--message</option> (<option>-m</option>) or
-              <option>--file</option> (<option>-F</option>) option to
-              be accepted as valid.  By default, Subversion will
-              produce an error if parameters to these options look
-              like they might instead be targets of the subcommand.
-              For example, if you pass a versioned file's path to the
-              <option>--file</option> (<option>-F</option>) option,
-              Subversion will assume you've made a mistake, that the
-              path was instead intended as the target of the
-              operation, and that you simply failed to provide some
-              other—unversioned—file as the source of your
-              log message.  To assert your intent and override these
-              types of errors, pass the <option>--force-log</option>
-              option to subcommands that accept log messages.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.git">
-          <term><option>--git</option></term>
-          <listitem>
-            <para>Enables a special output mode for <command>svn
-              diff</command> designed for cross-compatibility with the
-              popular Git distributed version control system.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.help">
-          <term><option>--help</option> (<option>-h</option>,  
<option>-?</option>)</term>
-          <listitem>
-            <para>If used with one or more subcommands, shows the
-              built-in help text for each.  If used alone, it displays
-              the general client help text.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.ignore_ancestry">
-          <term><option>--ignore-ancestry</option></term>
-          <listitem>
-            <para>Tells Subversion to ignore ancestry when calculating
-              differences (rely on path contents alone).  Also disables
-              <xref linkend="svn.branchmerge.basicmerging.mergetracking"/>
-              when used with the <command>svn merge</command> subcommand.
-          </para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.ignore_externals">
-          <term><option>--ignore-externals</option></term>
-          <listitem>
-            <para>Tells Subversion to ignore externals definitions and
-              the external working copies managed by them.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.ignore_keywords">
-          <term><option>--ignore-keywords</option></term>
-          <listitem>
-            <para>Disables keyword expansion.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.ignore_whitespace">
-          <term><option>--ignore-whitespace</option></term>
-          <listitem>
-            <para>Instructs <command>svn patch</command> to ignore
-              whitespace when attempting to identify patch
-              context.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.incremental">
-          <term><option>--incremental</option></term>
-          <listitem>
-            <para>Prints output in a format suitable for
-              concatenation to prior similar output.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.internal_diff">
-          <term><option>--internal-diff</option></term>
-          <listitem>
-            <para>Instructs Subversion to use its built-in
-              differencing engine despite any external differencing
-              mechanism that may be specified for use in the user's
-              runtime configuration.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.keep_changelists">
-          <term><option>--keep-changelists</option></term>
-          <listitem>
-            <para>Tells Subversion not to remove the changelist assigments
-              from working copy items after committing.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.keep_local">
-          <term><option>--keep-local</option></term>
-          <listitem>
-            <para>Keeps the local copy of a file or directory (used
-              with the <command>svn delete</command> command).</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.limit">
-          <term><option>--limit</option> (<option>-l</option>)  
<replaceable>NUM</replaceable></term>
-          <listitem>
-            <para>Shows only the first <replaceable>NUM</replaceable>
-              log messages.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.message">
-          <term><option>--message</option> (<option>-m</option>)  
<replaceable>MESSAGE</replaceable></term>
-          <listitem>
-            <para>Indicates that you will specify either a log message
-              or a lock comment on the command line, following this
-              option.  For example:</para>
-
-            <informalexample>
-              <screen>
-$ svn commit -m "They don't make Sunday."
-</screen>
-            </informalexample>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.native_eol">
-          <term><option>--native-eol</option>  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Causes <command>svn export</command> to use a
-              specific end-of-line sequence as if it was the native
-              sequence for the client platform.
-              <replaceable>ARG</replaceable> may be one
-              of <literal>CR</literal>, <literal>LF</literal>,
-              or <literal>CRLF</literal>.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.new">
-          <term><option>--new</option>  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Uses <replaceable>ARG</replaceable> as the newer
-              target (for use with <command>svn diff</command>).</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.no_auto_props">
-          <term><option>--no-auto-props</option></term>
-          <listitem>
-            <para>Disables automatic property setting, overriding the
-              <literal>enable-auto-props</literal> runtime
-              configuration directive.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.no_diff_deleted">
-          <term><option>--no-diff-deleted</option></term>
-        <listitem>
-            <para>Prevents Subversion from printing differences for
-              deleted files.  The default behavior when you remove a
-              file is for <command>svn diff</command> to print the
-              same differences that you would see if you had kept
-              the file but removed all of its content.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.no_ignore">
-          <term><option>--no-ignore</option></term>
-          <listitem>
-            <para>Shows files in the status listing or adds/imports files
-              that would normally be omitted since they match a pattern
-              in the <literal>global-ignores</literal> configuration
-              option or the <literal>svn:ignore</literal> or
-              <literal>svn:global-ignores</literal>properties.  See <xref
-              linkend="svn.advanced.confarea.opts.config"/> and <xref
-              linkend="svn.advanced.props.special.ignore"/> for more
-              information.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.no_unlock">
-          <term><option>--no-unlock</option></term>
-          <listitem>
-            <para>Tells Subversion not to automatically unlock files.
-              (The default commit behavior is to unlock all files
-              listed as part of the commit.)  See
-              <xref linkend="svn.advanced.locking"/> for more
-              information.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.non_recursive">
-          <term><option>--non-recursive</option>  
(<option>-N</option>)</term>
-          <listitem>
-            <para><emphasis>Deprecated</emphasis>.  Stops a subcommand
-              from recursing into subdirectories.  Most subcommands
-              recurse by default, but some do not.  Users should avoid
-              this option and use the more precise <option>--depth</option>
-              option instead.  For most subcommands, specifying
-              <option>--non-recursive</option> produces behavior which
-              is the same as if you'd specified
-              <option>--depth=files</option>, but there are exceptions:
-              non-recursive <command>svn status</command> operates at the
-              <literal>immediates</literal> depth, and the  non-recursive
-              forms of <command>svn revert</command>,
-              <command>svn add</command>, and <command>svn commit</command>
-              operate at an <literal>empty</literal> depth.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.notice_ancestry">
-          <term><option>--notice-ancestry</option></term>
-          <listitem>
-            <para>Pays attention to ancestry when calculating
-              differences.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.old">
-          <term><option>--old</option>  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Uses <replaceable>ARG</replaceable> as the older
-              target (for use with <command>svn diff</command>).</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.parents">
-          <term><option>--parents</option></term>
-          <listitem>
-            <para>Creates and adds nonexistent or nonversioned parent
-              subdirectories to the working copy or repository as part
-              of an operation.  This is useful for automatically
-              creating multiple subdirectories where none currently
-              exist.  If performed on a URL, all the directories will
-              be created in a single commit.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.quiet">
-          <term><option>--quiet</option> (<option>-q</option>)</term>
-          <listitem>
-            <para>Requests that the client print only essential
-              information while performing an operation.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.record_only">
-          <term><option>--record-only</option></term>
-          <listitem>
-            <para>Enables a special mode of <command>svn
-            merge</command> in which the specified merge operation is
-            recorded in the local merge tracking information, but is
-            not actually performed.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.recursive">
-          <term><option>--recursive</option> (<option>-R</option>)</term>
-          <listitem>
-            <para>Makes a subcommand recurse into subdirectories.
-              (Most subcommands recurse by default.)</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.reintegrate">
-          <term><option>--reintegrate</option></term>
-          <listitem>
-            <para>Deprecated.  Used with the <command>svn merge</command>
-              subcommand to merge changes from a feature branch back into
-              the feature branch's ancestor branch.  Since Subversion 1.8
-              the <command>svn merge</command> subcommand automatically
-              detects this scenario and performs the appropriate merge.
-              See
-              <xref linkend="svn.branchmerge.basicmerging.reintegrate"/>
-              for details.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.relocate">
-          <term><option>--relocate</option></term>
-          <listitem>
-            <para>Deprecated.  When used with the <command>svn
-              switch</command> subcommand, changes the location of the
-              repository that your working copy references.  The
-              preferred approach as of Subversion 1.7, however, is to
-              use the <command>svn relocate</command> subcommand.  See
-              <xref linkend="svn.ref.svn.c.relocate" /> for more
-              details and an example.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.remove">
-          <term><option>--remove</option></term>
-          <listitem>
-            <para>Used with <command>svn changelist</command> to
-              disassociate—rather than associate (which is the
-              default operation)—the target(s) from a
-              changelist.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.reverse_diff">
-          <term><option>--reverse-diff</option></term>
-          <listitem>
-            <para>Causes <command>svn patch</command> to interpret the
-              input patch instructions in reverse—treating added
-              lines as removed ones and vice-versa.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.revision">
-          <term><option>--revision</option> (<option>-r</option>)  
<replaceable>REV</replaceable></term>
-          <listitem>
-            <para>Specifies a revision (or range of revisions) on with
-              which to operate.  You can provide revision numbers,
-              keywords, or dates (in curly braces) as arguments to the
-              revision option.  If you wish to offer a range of
-              revisions, you can provide two revisions separated by a
-              colon.  For example:</para>
-
-            <informalexample>
-              <screen>
-$ svn log -r 1729
-$ svn log -r 1729:HEAD
-$ svn log -r 1729:1744
-$ svn log -r {2001-12-04}:{2002-02-17}
-$ svn log -r 1729:{2002-02-17}
-</screen>
-            </informalexample>
-
-            <para>See <xref linkend="svn.tour.revs.keywords"/> for more
-              information.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.revprop">
-          <term><option>--revprop</option></term>
-          <listitem>
-            <para>Operates on a revision property instead of a
-              property specific to a file or directory.  This option
-              requires that you also pass a revision with the
-              <option>--revision</option> (<option>-r</option>)
-              option.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.set_depth">
-          <term><option>--set-depth</option>  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Sets the sticky depth on a directory in a working
-              copy to one of <literal>exclude</literal>,  
<literal>empty</literal>,
-              <literal>files</literal>, <literal>immediates</literal>,
-              or <literal>infinity</literal>.  For detailed coverage
-              of what these mean and how to use this option, see
-              <xref linkend="svn.advanced.sparsedirs" />.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.show_copies_as_adds">
-          <term><option>--show-copies-as-adds</option></term>
-          <listitem>
-            <para>Enables a special output mode for <command>svn
-              diff</command> in which the content difference for a
-              file created via a copy operation appears as it would
-              for a brand new file (with each line therein appearing
-              as an addition to an empty file) rather than as a delta
-              against the original file from which the copy was
-              created.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.show_inherited_props">
-          <term><option>--show-inherited-props</option></term>
-          <listitem>
-            <para>Causes <command>svn propget</command> and <command>
-              svn proplist</command> to display the versioned properties
-              inherited by the target file or directory.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.show_revs">
-          <term><option>--show-revs</option>  
<replaceable>ARG</replaceable></term>
-          <listitem>
-            <para>Used to make <command>svn mergeinfo</command>
-              display certain classes of merge tracking
-              information.  <replaceable>ARG</replaceable> may be
-              either <literal>merged</literal>
-              or <literal>eligible</literal>, indicating a desire to
-              see revisions either already merged or eligible for future
-              merge from the specified source URL, respectively.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.show_updates">
-          <term><option>--show-updates</option>  
(<option>-u</option>)</term>
-          <listitem>
-            <para>Causes the client to display information about
-              which files in your working copy are out of date.
-              This doesn't actually update any of your
-              files—it just shows you which files will be
-              updated if you then use <command>svn update</command>.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.stop_on_copy">
-          <term><option>--stop-on-copy</option></term>
-          <listitem>
-            <para>Causes a Subversion subcommand that traverses
-              the history of a versioned resource to stop harvesting
-              that historical information when a copy—that is, a
-              location in history where that resource was copied from
-              another location in the repository—is
-              encountered.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.strict">
-          <term><option>--strict</option></term>
-          <listitem>
-            <para>Causes Subversion to use strict semantics, a notion
-              that is rather vague unless talking about specific
-              subcommands (namely, <command>svn propget</command>).</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.strip">
-          <term><option>--strip</option>  
<replaceable>NUM</replaceable></term>
-          <listitem>
-            <para>Used by <command>svn patch</command> to
-              ignore <replaceable>NUM</replaceable> leading path
-              components found on paths specified in the patch input
-              file.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.summarize">
-          <term><option>--summarize</option></term>
-          <listitem>
-            <para>Display only high-level summary notifications about
-              the operation instead of its detailed output.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.targets">
-          <term><option>--targets</option>  
<replaceable>FILENAME</replaceable></term>
-          <listitem>
-            <para>Tells Subversion to read additional target paths for
-              the operation from <replaceable>FILENAME</replaceable>.
-              <replaceable>FILENAME</replaceable> should contain one
-              path per line, with each path expected to use the same
-              encoding and formatting that it would if you had
-              specified it directly as an argument on the command
-              line.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.use_merge_history">
-          <term><option>--use-merge-history</option>  
(<option>-g</option>)</term>
-          <listitem>
-            <para>Uses or displays additional information from merge
-              history.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.verbose">
-          <term><option>--verbose</option> (<option>-v</option>)</term>
-          <listitem>
-            <para>Requests that the client print out as much
-              information as it can while running any subcommand.
-              This may result in Subversion printing out additional
-              fields, detailed information about every file, or
-              additional information regarding its actions.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="svn.ref.svn.sw.version">
-          <term><option>--version</option></term>
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/en/book/book.xml	Fri Jan 25 10:50:35 2013
+++ /trunk/en/book/book.xml	Tue Feb  5 13:51:43 2013
@@ -3,8 +3,12 @@
  [
  <!ENTITY % vers   SYSTEM "version.xml">
  %vers;
+
+<!-- Foreward, Preface, etc. -->
  <!ENTITY foreword SYSTEM "foreword.xml">
  <!ENTITY ch00     SYSTEM "ch00-preface.xml">
+
+<!-- Part I:  Getting to Know Subversion -->
  <!ENTITY ch01     SYSTEM "ch01-fundamental-concepts.xml">
  <!ENTITY ch02     SYSTEM "ch02-basic-usage.xml">
  <!ENTITY ch03     SYSTEM "ch03-advanced-topics.xml">
@@ -14,9 +18,27 @@
  <!ENTITY ch07     SYSTEM "ch07-customizing-svn.xml">
  <!ENTITY ch08     SYSTEM "ch08-embedding-svn.xml">
  <!ENTITY ch09     SYSTEM "ch09-reference.xml">
+
+<!-- Part II:  References -->
+<!ENTITY refsvn              SYSTEM "ref-svn.xml">
+<!ENTITY refsvnadmin         SYSTEM "ref-svnadmin.xml">
+<!ENTITY refsvnlook          SYSTEM "ref-svnlook.xml">
+<!ENTITY refsvnsync          SYSTEM "ref-svnsync.xml">
+<!ENTITY refsvnrdump         SYSTEM "ref-svnrdump.xml">
+<!ENTITY refsvnserve         SYSTEM "ref-svnserve.xml">
+<!ENTITY refsvndumpfilter    SYSTEM "ref-svndumpfilter.xml">
+<!ENTITY refsvnversion       SYSTEM "ref-svnversion.xml">
+<!ENTITY refsvnmucc          SYSTEM "ref-svnmucc.xml">
+<!ENTITY refdavmodules       SYSTEM "ref-davmodules.xml">
+<!ENTITY refprops            SYSTEM "ref-props.xml">
+<!ENTITY refreposhooks       SYSTEM "ref-reposhooks.xml">
+
+<!-- Part III:  Appendixes -->
  <!ENTITY appa     SYSTEM "appa-quickstart.xml">
  <!ENTITY appb     SYSTEM "appb-svn-for-cvs-users.xml">
  <!ENTITY appc     SYSTEM "appc-webdav.xml">
+
+<!-- Other Stuff -->
  <!ENTITY license  SYSTEM "copyright.xml">
  <!ENTITY index    SYSTEM "index.xml">
  ]>
@@ -96,18 +118,54 @@

    &foreword;
    &ch00;
-  &ch01;
-  &ch02;
-  &ch03;
-  &ch04;
-  &ch05;
-  &ch06;
-  &ch07;
-  &ch08;
-  &ch09;
-  &appa;
-  &appb;
-  &appc;
+
+  <part id="svn.content">
+    <title>Getting to Know Subversion</title>
+
+    &ch01;
+    &ch02;
+    &ch03;
+    &ch04;
+    &ch05;
+    &ch06;
+    &ch07;
+    &ch08;
+  </part>
+
+  <part id="svn.ref">
+    <title>Subversion Complete Reference</title>
+
+    <partintro>
+      <para>This portion of the book is intended to be a complete
+        reference to using Subversion.  It includes command summaries
+        and examples for all the command-line tools provided as part
+        of the stock Subversion distribution, configuration
+        information for the Subversion server modules, and other
+        information that lends itself to a reference format.</para>
+    </partintro>
+
+    &refsvn;
+    &refsvnadmin;
+    &refsvnlook;
+    &refsvnserve;
+    &refsvnversion;
+    &refsvnsync;
+    &refsvnrdump;
+    &refsvndumpfilter;
+    &refsvnmucc;
+    &refdavmodules;
+    &refprops;
+    &refreposhooks;
+  </part>
+
+  <part id="svn.apps">
+    <title>Appendixes</title>
+
+    &appa;
+    &appb;
+    &appc;
+  </part>
+
    &license;
    &index;

=======================================
--- /trunk/en/book/styles.css	Fri Feb  1 10:14:56 2013
+++ /trunk/en/book/styles.css	Tue Feb  5 13:51:43 2013
@@ -85,7 +85,13 @@
  strong {
    font-weight: normal;
  }
-.toc b {
+.toc {
+  border-top: 1px solid black;
+}
+.book .toc {
+  border: 0px;
+}
+.toc strong, .toc b {
    font-family: sans-serif;
    font-size: 120%;
    font-style: normal;




More information about the svnbook-dev mailing list