[svnbook commit] r3132 - trunk/src/en/book
fitz
noreply at red-bean.com
Fri Jun 13 01:23:47 CDT 2008
Author: fitz
Date: Fri Jun 13 01:23:47 2008
New Revision: 3132
Log:
Document missing subcommands in svnadmin and svnsync.
This partially fixes issue #120.
Thanks to Daniel Shahaf (d.s at daniel.shahaf.co.il) for catching this!
* book/ch09-reference.xml: Document svnadmin commands: crashtest,
setrevprop, setuuid, and upgrade. Also document svnsync help.
Modified:
trunk/src/en/book/ch09-reference.xml
Modified: trunk/src/en/book/ch09-reference.xml
==============================================================================
--- trunk/src/en/book/ch09-reference.xml (original)
+++ trunk/src/en/book/ch09-reference.xml Fri Jun 13 01:23:47 2008
@@ -5522,6 +5522,15 @@
</varlistentry>
<varlistentry>
+ <term><option>--use-post-revprop-change-hook</option></term>
+ <listitem>
+ <para>When changing a revision property, run the
+ repository's post-revprop-change hook after changing the
+ revision property.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--use-pre-commit-hook</option></term>
<listitem>
<para>When loading a dump file, run the repository's
@@ -5531,12 +5540,71 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--use-pre-revprop-change-hook</option></term>
+ <listitem>
+ <para>When changing a revision property, run the
+ repository's pre-revprop-change hook before changing the
+ revision property. If the hook fails, abort the
+ modification and terminate.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</sect2>
<!-- =============================================================== -->
<sect2 id="svn.ref.svnadmin.c">
<title><command>svnadmin</command> Subcommands</title>
+
+ <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>
+ <programlisting>svnadmin crashtest REPOS_PATH</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Open the repository at REPOS_PATH, 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>
+
+ <screen>
+$ svnadmin crashtest /var/svn/repos
+Abort trap
+</screen>
+
+ <para>Exciting, isn't it?</para>
+
+ </refsect1>
+ </refentry>
+
<refentry id="svn.ref.svnadmin.c.create">
<indexterm>
@@ -6328,6 +6396,183 @@
</refsect1>
</refentry>
+ <refentry id="svn.ref.svnadmin.c.setrevprop">
+
+ <indexterm>
+ <primary>svnadmin</primary>
+ <secondary>subcommands</secondary>
+ <tertiary>setrevprop</tertiary>
+ </indexterm>
+
+ <refnamediv>
+ <refname>svnadmin setrevprop</refname>
+ <refpurpose>Set the property name on a revision.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svnadmin setrevprop REPOS_PATH -r REVISION NAME FILE</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Set the property <replaceable>NAME</replaceable> on
+ revision <replaceable>REVISION</replaceable> to the
+ contents of <replaceable>FILE</replaceable>. Use
+ <option>--use-pre-revprop-change-hook</option>
+ or <option>--use-post-revprop-change-hook</option> to
+ trigger the revision property-related hooks (e.g., if
+ you want an email notification sent from your post
+ revprop change hook).</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+
+ <screen>
+--revision (-r) ARG
+--use-pre-revprop-change-hook
+--use-post-revprop-change-hook
+</screen>
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <para>The following sets the revision
+ property <literal>repository-photo</literal> to the contents
+ of the file <literal>sandwich.png</literal>:</para>
+
+ <screen>
+$svnadmin setrevprop /var/svn/repos -r 0 repository-photo sandwich.png
+</screen>
+
+ <para>As you can see, <command>svnadmin setrevprop</command>
+ has no output upon success.</para>
+
+ </refsect1>
+ </refentry>
+
+ <refentry id="svn.ref.svnadmin.c.setuuid">
+
+ <indexterm>
+ <primary>svnadmin</primary>
+ <secondary>subcommands</secondary>
+ <tertiary>setuuid</tertiary>
+ </indexterm>
+
+ <refnamediv>
+ <refname>svnadmin setuuid</refname>
+ <refpurpose>Reset the repository UUID.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svnadmin setuuid REPOS_PATH [NEW_UUID]</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Reset the repository UUID for the repository located
+ at <replaceable>REPOS_PATH</replaceable>.
+ If <replaceable>NEW_UUID</replaceable> is provided, use
+ that as the new repository UUID; otherwise, generate a
+ brand new UUID for the repository.</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+
+ <para>None</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <para>If you've <command>svnsync</command>ed /var/svn/repos
+ to /var/svn/repos-new and intend to use repos-new as your
+ canonical repository, you may want to change the UUID for
+ repos-new to the UUID of repos so that your users don't
+ have to check out a new working copy to accomodate the
+ change:</para>
+
+ <screen>
+$ svnadmin setuuid /var/svn/repos-new 2109a8dd-854f-0410-ad31-d604008985ab
+</screen>
+
+ <para>As you can see, <command>svnadmin setuuid</command>
+ has no output upon success.</para>
+
+ </refsect1>
+ </refentry>
+
+ <refentry id="svn.ref.svnadmin.c.upgrade">
+
+ <indexterm>
+ <primary>svnadmin</primary>
+ <secondary>subcommands</secondary>
+ <tertiary>upgrade</tertiary>
+ </indexterm>
+
+ <refnamediv>
+ <refname>svnadmin upgrade</refname>
+ <refpurpose>Upgrade a repository to the latest supported
+ schema version.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svnadmin upgrade REPOS_PATH</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Upgrade the repository located
+ at <replaceable>REPOS_PATH</replaceable> to the latest
+ supported schema version.</para>
+
+ <para>This functionality is provided as a convenience for
+ repository administrators who wish to make use of new
+ Subversion functionality without having to undertake a
+ potentially costly full repository dump and load
+ operation. As such, the upgrade performs only the
+ minimum amount of work needed to accomplish this while
+ still maintaining the integrity of the repository.
+ While a dump and subsequent load guarantees the most
+ optimized repository state, <command>svnadmin
+ upgrade</command> does not.</para>
+
+ <warning>
+ <para>You should <emphasis>always</emphasis> backup your
+ repository before upgrading.</para>
+ </warning>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+
+ <para>None</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <para>Upgrade the repository at
+ path <filename>/var/repos/svn</filename></para>
+
+ <screen>
+$ svnadmin upgrade /var/repos/svn
+Repository lock acquired.
+Please wait; upgrading the repository may take some time...
+
+Upgrade completed.
+</screen>
+
+ </refsect1>
+ </refentry>
+
<!-- this could use a lot more explanation. When should I use
it? What do I do if it fails? -->
<refentry id="svn.ref.svnadmin.c.verify">
@@ -7561,6 +7806,46 @@
</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>
+ <programlisting>svnsync SUBCOMMAND</programlisting>
+ </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 wifi 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>Alternate Name</title>
+ <para>None</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+ <para>None</para>
+ </refsect1>
+
+ </refentry>
+
<refentry id="svn.ref.svnsync.c.init">
<indexterm>
More information about the svnbook-dev
mailing list