[svnbook] r3871 committed - * src/en/book/appa-quickstart.xml,...

svnbook at googlecode.com svnbook at googlecode.com
Fri Jul 1 09:36:47 CDT 2011


Revision: 3871
Author:   cmpilato at gmail.com
Date:     Fri Jul  1 07:34:08 2011
Log:      * src/en/book/appa-quickstart.xml,
* src/en/book/appb-svn-for-cvs-users.xml,
* src/en/book/appc-webdav.xml,
* src/en/book/ch02-basic-usage.xml,
* src/en/book/ch03-advanced-topics.xml,
* src/en/book/ch04-branching-and-merging.xml,
* src/en/book/ch05-repository-admin.xml,
* src/en/book/ch06-server-configuration.xml,
* src/en/book/ch07-customizing-svn.xml,
* src/en/book/ch08-embedding-svn.xml,
* src/en/book/ch09-reference.xml
   Wrap <screen>'s and <programlisting>'s which aren't part of formal
   <example>'s with <informalexample>...</informalexample>.

(I almost certainly overlooked -- or underlooked -- something in this
commit.)
http://code.google.com/p/svnbook/source/detail?r=3871

Modified:
  /trunk/src/en/book/appa-quickstart.xml
  /trunk/src/en/book/appb-svn-for-cvs-users.xml
  /trunk/src/en/book/appc-webdav.xml
  /trunk/src/en/book/ch02-basic-usage.xml
  /trunk/src/en/book/ch03-advanced-topics.xml
  /trunk/src/en/book/ch04-branching-and-merging.xml
  /trunk/src/en/book/ch05-repository-admin.xml
  /trunk/src/en/book/ch06-server-configuration.xml
  /trunk/src/en/book/ch07-customizing-svn.xml
  /trunk/src/en/book/ch08-embedding-svn.xml
  /trunk/src/en/book/ch09-reference.xml

=======================================
--- /trunk/src/en/book/appa-quickstart.xml	Sat Aug  2 10:13:40 2008
+++ /trunk/src/en/book/appa-quickstart.xml	Fri Jul  1 07:34:08 2011
@@ -84,7 +84,8 @@
        </footnote>
      </para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout http://svn.collab.net/repos/svn/trunk subversion
  A    subversion/HACKING
  A    subversion/INSTALL
@@ -93,6 +94,7 @@
  A    subversion/build.conf
  …
  </screen>
+    </informalexample>

      <para>The preceding command will create a working copy of the
        latest (unreleased) Subversion source code into a subdirectory
@@ -139,11 +141,13 @@
      <para>Subversion stores all versioned data in a central
        repository.  To begin, create a new repository:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svnadmin create /var/svn/repos
  $ ls /var/svn/repos
  conf/  dav/  db/  format  hooks/  locks/  README.txt
  </screen>
+    </informalexample>

      <para>This command creates a new directory,
        <filename>/var/svn/repos</filename>, which contains a Subversion
@@ -180,7 +184,8 @@
        data, and the <filename>branches</filename> and
        <filename>tags</filename> directories should be empty:</para>

-    <screen>
+    <informalexample>
+      <screen>
  /tmp/myproject/branches/
  /tmp/myproject/tags/
  /tmp/myproject/trunk/
@@ -189,6 +194,7 @@
                       Makefile
                       …
  </screen>
+    </informalexample>

      <para>The <filename>branches</filename>, <filename>tags</filename>,
        and <filename>trunk</filename> subdirectories aren't actually
@@ -199,7 +205,8 @@
        the repository with the <command>svn import</command> command
        (see <xref linkend="svn.tour.importing"/>):</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn import /tmp/myproject file:///var/svn/repos/myproject -m "initial  
import"
  Adding         /tmp/myproject/branches
  Adding         /tmp/myproject/tags
@@ -211,6 +218,7 @@
  Committed revision 1.
  $
  </screen>
+    </informalexample>

      <para>Now the repository contains this tree of data.  As mentioned
        earlier, you won't see your files by directly peeking into the
@@ -228,7 +236,8 @@
        copy of the <filename>myproject/trunk</filename> directory in
        the repository:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout file:///var/svn/repos/myproject/trunk myproject
  A  myproject/foo.c
  A  myproject/bar.c
@@ -236,6 +245,7 @@
  …
  Checked out revision 1.
  </screen>
+    </informalexample>

      <para>Now you have a personal copy of part of the repository in a
        new directory named <filename>myproject</filename>.  You can edit
=======================================
--- /trunk/src/en/book/appb-svn-for-cvs-users.xml	Thu Jun 30 09:57:00 2011
+++ /trunk/src/en/book/appb-svn-for-cvs-users.xml	Fri Jul  1 07:34:08 2011
@@ -262,17 +262,20 @@
          formats.  In the default <quote>short</quote> format, local
          modifications look like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status
  M       foo.c
  M       bar/baz.c
  </screen>
+      </informalexample>

        <para>If you specify the <option>--show-updates</option>
          (<option>-u</option>) option, a longer output format is
          used:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status -u
  M             1047   foo.c
          *     1045   faces.html
@@ -280,6 +283,7 @@
  M             1050   bar/baz.c
  Status against revision:   1066
  </screen>
+      </informalexample>

        <para>In this case, two new columns appear.  The second column
          contains an asterisk if the file or directory is out of date.
@@ -304,7 +308,8 @@
          <xref linkend="svn.ref.svn.c.status"/>.  Here are a few of the
          more common status codes you'll see:</para>

-      <screen>
+      <informalexample>
+        <screen>
  A    Resource is scheduled for Addition
  D    Resource is scheduled for Deletion
  M    Resource has local Modifications
@@ -316,6 +321,7 @@
  !    Resource is missing or incomplete (removed by a tool other than
         Subversion)
  </screen>
+      </informalexample>

        <para>For a more detailed discussion of <command>svn
          status</command>, see <xref  
linkend="svn.tour.cycle.examine.status" />.</para>
=======================================
--- /trunk/src/en/book/appc-webdav.xml	Thu Mar 18 09:00:16 2010
+++ /trunk/src/en/book/appc-webdav.xml	Fri Jul  1 07:34:08 2011
@@ -150,13 +150,15 @@
        <filename>httpd.conf</filename> <literal>Location</literal>
        block, like so:</para>

-    <screen>
+    <informalexample>
+      <screen>
  <Location /repos>
    DAV svn
    SVNPath /var/svn/repository
    SVNAutoversioning on
  </Location>
  </screen>
+    </informalexample>

      <para>When Subversion autoversioning is active, write requests
        from WebDAV clients result in automatic commits.  A generic log
@@ -200,7 +202,8 @@
        <literal>ModMimeUsePathInfo</literal> directive in your
        Subversion <literal><Location></literal> block:</para>

-    <screen>
+    <informalexample>
+      <screen>
  <Location /repos>
    DAV svn
    SVNPath /var/svn/repository
@@ -210,6 +213,7 @@

  </Location>
  </screen>
+    </informalexample>

      <para>This directive allows <literal>mod_mime</literal> to attempt
        automatic deduction of the MIME type on new files that enter the
@@ -418,7 +422,8 @@
            pinch, to examine properties, and to copy, move,
            lock, or unlock files:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ cadaver http://host/repos
  dav:/repos/> ls
  Listing collection `/repos/': succeeded.
@@ -435,6 +440,7 @@
  Downloading `/repos/proofbypoem.txt' to proofbypoem.txt:
  Progress: [=============================>] 100.0% of 1461 bytes  
succeeded.
  </screen>
+        </informalexample>

          <para>DAV Explorer is another standalone WebDAV client, written
            in Java.  It's under a free Apache-like license and is
@@ -626,10 +632,12 @@
            <literal>webdav</literal> filesystem type with the
            <command>mount</command> command:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ mount -t webdav http://svn.example.com/repos/project /some/mountpoint
  $
  </screen>
+        </informalexample>

          <para>Note that if your <command>mod_dav_svn</command> is
            older than version 1.2, OS X will refuse to mount the share
@@ -644,9 +652,11 @@
            directive in the Apache server's
            <filename>httpd.conf</filename>:</para>

-        <screen>
+        <informalexample>
+          <screen>
  BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
  </screen>
+        </informalexample>

        </sect3>

@@ -660,9 +670,11 @@
            davfs2, you can mount a WebDAV network share using the usual  
Linux mount
            command:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ mount.davfs http://host/repos /mnt/dav
  </screen>
+        </informalexample>

        </sect3>
      </sect2>
=======================================
--- /trunk/src/en/book/ch02-basic-usage.xml	Thu Jun 30 10:14:39 2011
+++ /trunk/src/en/book/ch02-basic-usage.xml	Fri Jul  1 07:34:08 2011
@@ -61,7 +61,8 @@
        help</command> command is your gateway to that built-in
        documentation:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn help
  Subversion command-line client, version 1.6.13.
  Type 'svn help <subcommand>' for help on a specific subcommand.
@@ -78,6 +79,7 @@
     cat
  …
  </screen>
+    </informalexample>

      <para>As described in the previous output, you can ask for help on
        a particular subcommand by running <userinput>svn help
@@ -85,7 +87,8 @@
        will respond with the full usage message for that subcommand,
        including its syntax, options, and behavior:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn help help
  help (?, h): Describe the usage of this program or its subcommands.
  usage: help [SUBCOMMAND...]
@@ -95,6 +98,7 @@
    --password ARG           : specify a password ARG
  …
  </screen>
+    </informalexample>

      <sidebar>
        <title>Options and Switches and Flags, Oh My!</title>
@@ -176,7 +180,8 @@
          use this when you have an existing tree of files that you want to
          begin tracking in your Subversion repository.  For example:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn import /path/to/mytree \
               http://svn.example.com/svn/repo/some/project \
               -m "Initial import"
@@ -188,6 +193,7 @@
  Committed revision 1.
  $
  </screen>
+      </informalexample>

        <para>The previous example copied the contents of the local
          directory <filename>mytree</filename> into the directory
@@ -197,13 +203,15 @@
          Immediately after the commit, you can see your data in the
          repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn list http://svn.example.com/svn/repo/some/project
  bar.c
  foo.c
  subdir/
  $
  </screen>
+      </informalexample>

        <para>Note that after the import is finished, the original local
          directory is <emphasis>not</emphasis> converted into a working
@@ -268,7 +276,8 @@

        <para>Here are some examples:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn list file:///var/svn/single-project-repo
  /trunk
  /branches
@@ -282,6 +291,7 @@
  /tags
  $
  </screen>
+      </informalexample>

        <para>We talk much more about tags and branches in
          <xref linkend="svn.branchmerge"/>.  For details and some
@@ -361,7 +371,8 @@
        directory and its children found in the Subversion
        repository:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout http://svn.example.com/svn/repo/trunk
  A    trunk/README
  A    trunk/INSTALL
@@ -371,13 +382,15 @@
  Checked out revision 8810.
  $
  </screen>
+    </informalexample>

      <para>Although the preceding example checks out the trunk
        directory, you can just as easily check out a deeper
        subdirectory of a repository by specifying that subdirectory's
        URL as the checkout URL:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout http://svn.example.com/svn/repo/trunk/src
  A    src/main.c
  A    src/header.h
@@ -386,6 +399,7 @@
  Checked out revision 8810.
  $
  </screen>
+    </informalexample>

      <para>Since Subversion uses a copy-modify-merge model instead of
        lock-modify-unlock (see <xref linkend="svn.basic.vsn-models"/>),
@@ -446,7 +460,8 @@
        local directory name that Subversion should use for the working
        copy it creates.For example:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout http://svn.example.com/svn/repo/trunk my-working-copy
  A    my-working-copy/README
  A    my-working-copy/INSTALL
@@ -456,6 +471,7 @@
  Checked out revision 8810.
  $
  </screen>
+    </informalexample>

      <para>If the local directory you specify doesn't yet
        exist, that's okay—<command>svn checkout</command> will
@@ -554,13 +570,15 @@
          copy into sync with the latest revision in the
          repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn update
  U  foo.c
  U  bar.c
  Updated to revision 2.
  $
  </screen>
+      </informalexample>

        <para>In this case, it appears that someone checked in
          modifications to both <filename>foo.c</filename>
@@ -865,13 +883,15 @@
            the text following <literal>#</literal> is not
            actually printed by <command>svn status</command>.)</para>

-        <screen>
+        <informalexample>
+          <screen>
  ?       scratch.c           # file is not under version control
  A       stuff/loot/bloo.h   # file is scheduled for addition
  C       stuff/loot/lump.c   # file has textual conflicts from an update
  D       stuff/fish.c        # file is scheduled for deletion
  M       bar.c               # the content in bar.c has local modifications
  </screen>
+        </informalexample>

          <para>In this output format, <command>svn status</command>
            prints seven columns of characters, followed by several
@@ -926,10 +946,12 @@
            status</command>, you get information about that item
            alone:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn status stuff/fish.c
  D       stuff/fish.c
  </screen>
+        </informalexample>

          <para><command>svn status</command> also has a
            <option>--verbose</option> (<option>-v</option>) option,
@@ -937,7 +959,8 @@
            item in your working copy, even if it has not been
            changed:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn status -v
  M               44        23    sally     README
                  44        30    sally     INSTALL
@@ -949,6 +972,7 @@
  A                0         ?     ?        stuff/things/bloo.h
                  44        36    harry     stuff/things/gloo.c
  </screen>
+        </informalexample>

          <para>This is the <quote>long form</quote> output of
            <command>svn status</command>.  The letters in the first
@@ -970,7 +994,8 @@
            option, which contacts the repository and adds information
            about items that are out of date:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn status -u -v
  M      *        44        23    sally     README
  M               44        20    harry     bar.c
@@ -979,6 +1004,7 @@
  A                0         ?     ?        stuff/things/bloo.h
  Status against revision:   46
  </screen>
+        </informalexample>

          <para>Notice in the previous example the two asterisks: if you
            were to run <userinput>svn update</userinput> at this point,
@@ -1032,7 +1058,8 @@

          <para>Here's an example:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff
  Index: bar.c
  ===================================================================
@@ -1072,6 +1099,7 @@
  +Here is a new file to describe
  +things about bloo.
  </screen>
+        </informalexample>

          <indexterm>
            <primary>patches</primary>
@@ -1093,10 +1121,12 @@
            creating a patch file from the redirected output
            of <command>svn diff</command>:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff > patchfile
  $
  </screen>
+        </informalexample>

          <para>Subversion uses its internal diff engine, which produces
            unified diff format, by default.  If you want diff output in
@@ -1112,11 +1142,13 @@
            made only to the case of the letters used in the file's
            contents:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff --diff-cmd /usr/bin/diff -x "-i" foo.c
  …
  $
  </screen>
+        </informalexample>

        </sect3>

@@ -1149,7 +1181,8 @@
          over from scratch doesn't require such acrobatics.  Just use
          the <command>svn revert</command> command:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status README
  M       foo
  $ svn revert README
@@ -1157,6 +1190,7 @@
  $ svn status README
  $
  </screen>
+      </informalexample>

        <para>In this example, Subversion has reverted the file to its
          premodified state by overwriting it with the pristine version
@@ -1166,7 +1200,8 @@
          example, you might decide that you don't want to add a new
          file after all:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status foo
  ?       foo
  $ svn add foo
@@ -1177,11 +1212,13 @@
  ?       foo
  $
  </screen>
+      </informalexample>

        <para>Or perhaps you mistakenly removed a file from version
          control:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status README
  $ svn delete README
  D         README
@@ -1190,6 +1227,7 @@
  $ svn status README
  $
  </screen>
+      </informalexample>

        <para>The <command>svn revert</command> command offers salvation
          for imperfect people.  It can save you huge amounts of time
@@ -1225,7 +1263,8 @@
        <para>Suppose you run <userinput>svn update</userinput> and you
          see this sort of interesting output:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn update
  U  INSTALL
  G  README
@@ -1233,6 +1272,7 @@
  Select: (p) postpone, (df) diff-full, (e) edit,
          (h) help for more options:
  </screen>
+      </informalexample>

        <para>The <computeroutput>U</computeroutput> (which stands for
          <quote>Updated</quote>) and <computeroutput>G</computeroutput>
@@ -1260,7 +1300,8 @@
          you can see all of the options by
          typing <replaceable>h</replaceable>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  …
    (p)  postpone    - mark the conflict to be resolved later
    (df) diff-full   - show all changes made to merged file
@@ -1271,6 +1312,7 @@
    (l)  launch      - launch external tool to resolve conflict
    (h)  help        - show this list
  </screen>
+      </informalexample>

        <para>Let's briefly review each of these options before we go
          into detail on what each option means.</para>
@@ -1366,7 +1408,8 @@
            and the <firstterm>diff-full</firstterm> command
            (<userinput>df</userinput>) is what you'll use for this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  …
  Select: (p) postpone, (df) diff-full, (e) edit,
          (h)elp for more options : df
@@ -1381,6 +1424,7 @@
  +>>>>>>> .r32
  …
  </screen>
+        </informalexample>

          <para>The first line of the diff content shows the previous
            contents of the working copy (the <literal>BASE</literal>
@@ -1567,7 +1611,8 @@
            same file.  Sally updates her working copy before committing
            and she gets a conflict, which she postpones:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn update
  Conflict discovered in 'sandwich.txt'.
  Select: (p) postpone, (df) diff-full, (e) edit,
@@ -1580,17 +1625,20 @@
  sandwich.txt.r1
  sandwich.txt.r2
  </screen>
+        </informalexample>

          <para>At this point, Subversion will <emphasis>not</emphasis>
            allow Sally to commit the file
            <filename>sandwich.txt</filename> until the three temporary
            files are removed:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn commit -m "Add a few more things"
  svn: Commit failed (details follow):
  svn: Aborting commit: '/home/sally/svn-work/sandwich.txt' remains in  
conflict
  </screen>
+        </informalexample>

          <para>If you've postponed a conflict, you need to resolve the
            conflict before Subversion will allow you to commit your
@@ -1624,10 +1672,12 @@
            Subversion no longer considers the file to be in a state of
            conflict:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn resolve --accept working sandwich.txt
  Resolved conflicted state of 'sandwich.txt'
  </screen>
+        </informalexample>

        </sect3>

@@ -1653,7 +1703,8 @@
            <filename>sandwich.txt</filename> to resolve the conflict.
            First, let's take a look at the file:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ cat sandwich.txt
  Top piece of bread
  Mayonnaise
@@ -1671,6 +1722,7 @@
  Creole Mustard
  Bottom piece of bread
  </screen>
+        </informalexample>

          <para>The strings of less-than signs, equals signs, and
            greater-than signs are conflict markers and are not part of
@@ -1680,23 +1732,27 @@
            composed of the changes you made in the conflicting
            area:</para>

-        <screen>
+        <informalexample>
+          <screen>
  <<<<<<< .mine
  Salami
  Mortadella
  Prosciutto
  =======
  </screen>
+        </informalexample>

          <para>The text between the second and third sets of conflict
            markers is the text from Sally's commit:</para>

-        <screen>
+        <informalexample>
+          <screen>
  =======
  Sauerkraut
  Grilled Chicken
  >>>>>>> .r2
  </screen>
+        </informalexample>

          <para>Usually you won't want to just delete the conflict
            markers and Sally's changes—she's going to be awfully
@@ -1711,7 +1767,8 @@
            Once you've agreed on the changes you will commit, edit
            your file and remove the conflict markers:</para>

-        <screen>
+        <informalexample>
+          <screen>
  Top piece of bread
  Mayonnaise
  Lettuce
@@ -1723,15 +1780,18 @@
  Creole Mustard
  Bottom piece of bread
  </screen>
+        </informalexample>

          <para>Now use <command>svn resolve</command>, and you're
            ready to commit your changes:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn resolve --accept working sandwich.txt
  Resolved conflicted state of 'sandwich.txt'
  $ svn commit -m "Go ahead and use my sandwich, discarding Sally's edits."
  </screen>
+        </informalexample>

          <para>Note that <command>svn resolve</command>, unlike most of
            the other commands we deal with in this chapter, requires
@@ -1768,7 +1828,8 @@
            Subversion will discard your edits and remove the temporary
            files:</para>

-       <screen>
+        <informalexample>
+         <screen>
  $ svn update
  Conflict discovered in 'sandwich.txt'.
  Select: (p) postpone, (df) diff-full, (e) edit,
@@ -1781,6 +1842,7 @@
  Resolved conflicted state of 'sandwich.txt'
  $
  </screen>
+       </informalexample>

        </sect3>

@@ -1792,13 +1854,15 @@
            and start your edits again (whether this occurs after a
            conflict or anytime), just revert your changes:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn revert sandwich.txt
  Reverted 'sandwich.txt'
  $ ls sandwich.*
  sandwich.txt
  $
  </screen>
+        </informalexample>

          <para>Note that when you revert a conflicted file, you don't
            have to use <command>svn resolve</command>.</para>
@@ -1823,12 +1887,14 @@
          command line using the <option>--message</option>
          (<option>-m</option>) option:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn commit -m "Corrected number of cheese slices."
  Sending        sandwich.txt
  Transmitting file data .
  Committed revision 3.
  </screen>
+      </informalexample>

        <para>However, if you've been composing your log message in some
          other text file as you work, you may want to tell Subversion
@@ -1836,12 +1902,14 @@
          the value of the <option>--file</option> (<option>-F</option>)
          option:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn commit -F logmsg
  Sending        sandwich.txt
  Transmitting file data .
  Committed revision 4.
  </screen>
+      </informalexample>

        <para>If you fail to specify either the
          <option>--message</option> (<option>-m</option>)
@@ -1858,7 +1926,8 @@
            saved your commit message, simply delete all the text, save
            again, and then abort:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn commit
  Waiting for Emacs...Done

@@ -1867,6 +1936,7 @@
  a
  $
  </screen>
+        </informalexample>
        </tip>

        <para>The repository doesn't know or care whether your changes make
@@ -1876,13 +1946,15 @@
          that, the entire commit will fail with a message informing you
          that one or more of your files are out of date:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn commit -m "Add another rule"
  Sending        rules.txt
  svn: Commit failed (details follow):
  svn: File '/sandwich.txt' is out of date
  …
  </screen>
+      </informalexample>

        <para>(The exact wording of this error message depends on the
          network protocol and server you're using, but the idea is the
@@ -1972,7 +2044,8 @@
          and—if it was provided—the log message that accompanied
          the commit:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log
  ------------------------------------------------------------------------
  r3 | sally | 2008-05-15 23:09:28 -0500 (Thu, 15 May 2008) | 1 line
@@ -1988,6 +2061,7 @@
  Initial import
  ------------------------------------------------------------------------
  </screen>
+      </informalexample>

        <para>Note that the log messages are printed in
          <emphasis>reverse chronological order</emphasis> by default.
@@ -2027,12 +2101,14 @@
        <para>You can also examine the log history of a single file or
          directory.  For example:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log foo.c
  …
  $ svn log http://foo.com/svn/trunk/code/foo.c
  …
  </screen>
+      </informalexample>

        <para>These will display log messages <emphasis>only</emphasis>
          for those revisions in which the working file (or URL)
@@ -2073,7 +2149,8 @@
          log</command> will include a list of changed paths in a
          revision in its output:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log -r 8 -v
  ------------------------------------------------------------------------
  r8 | sally | 2008-05-21 13:19:25 -0500 (Wed, 21 May 2008) | 1 line
@@ -2086,6 +2163,7 @@

  ------------------------------------------------------------------------
  </screen>
+      </informalexample>

        <para>
          <command>svn log</command> also takes
@@ -2101,11 +2179,13 @@
          <para>After working with Subversion for a bit, most users will
            come across something like this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn log -r 2
  ------------------------------------------------------------------------
  $
  </screen>
+        </informalexample>

          <para>At first glance, this seems like an error.  But recall
            that while revisions are repository-wide, <command>svn
@@ -2162,7 +2242,8 @@
            <quote>pristine</quote> copies in
            the <filename>.svn</filename> area:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff
  Index: rules.txt
  ===================================================================
@@ -2177,6 +2258,7 @@
  +Listen when others are speaking
  $
  </screen>
+        </informalexample>

        </sect3>

@@ -2189,7 +2271,8 @@
            working copy is compared to the specified revision in the
            repository:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff -r 3 rules.txt
  Index: rules.txt
  ===================================================================
@@ -2204,6 +2287,7 @@
  +Listen when others are speaking
  $
  </screen>
+        </informalexample>

        </sect3>

@@ -2216,7 +2300,8 @@
            (<option>-r</option>), the two revisions are directly
            compared:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff -r 2:3 rules.txt
  Index: rules.txt
  ===================================================================
@@ -2230,12 +2315,14 @@
   Chew with your mouth open
  $
  </screen>
+        </informalexample>

          <para>A more convenient way of comparing one revision to the
            previous revision is to use the <option>--change</option>
            (<option>-c</option>) option:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff -c 3 rules.txt
  Index: rules.txt
  ===================================================================
@@ -2249,16 +2336,19 @@
   Chew with your mouth open
  $
  </screen>
+        </informalexample>

          <para>Lastly, you can compare repository revisions even when
            you don't have a working copy on your local machine, just by
            including the appropriate URL on the command line:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn diff -c 5 http://svn.example.com/repos/example/trunk/text/rules.txt
  …
  $
  </screen>
+        </informalexample>

        </sect3>

@@ -2283,7 +2373,8 @@
            not necessarily the differences between two files, you can use
            <command>svn cat</command>:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn cat -r 2 rules.txt
  Be kind to others
  Freedom = Chocolate Ice Cream
@@ -2291,14 +2382,17 @@
  Chew with your mouth open
  $
  </screen>
+        </informalexample>

          <para>You can also redirect the output directly into a
            file:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn cat -r 2 rules.txt > rules.txt.v2
  $
  </screen>
+        </informalexample>

        </sect3>

@@ -2310,7 +2404,8 @@
            files are in a repository directory without actually
            downloading the files to your local machine:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn list http://svn.collab.net/repos/svn
  README
  branches/
@@ -2318,12 +2413,14 @@
  tags/
  trunk/
  </screen>
+        </informalexample>

          <para>If you want a more detailed listing, pass the
            <option>--verbose</option> (<option>-v</option>) flag to get
            output like this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn list -v http://svn.collab.net/repos/svn
    20620 harry            1084 Jul 13  2006 README
    23339 harry                 Feb 04 01:40 branches/
@@ -2331,6 +2428,7 @@
    23198 harry                 Jan 23 17:17 tags/
    23351 sally                 Feb 05 13:26 trunk/
  </screen>
+        </informalexample>

          <para>The columns tell you the revision at which the file or
            directory was last modified, the user who modified it, the size
@@ -2365,12 +2463,14 @@
          </footnote>
          </para>

-      <screen>
+      <informalexample>
+        <screen>
  # Make the current directory look like it did in r1729.
  $ svn update -r 1729
  …
  $
  </screen>
+      </informalexample>

        <tip>
          <para>Many Subversion newcomers attempt to use the preceding
@@ -2392,7 +2492,8 @@
          to specify the target revision as part of Subversion's
          expanded URL syntax.</para>

-      <screen>
+      <informalexample>
+        <screen>
  # Checkout the trunk from r1729.
  $ svn checkout http://svn.example.com/svn/repo/trunk@1729 trunk-1729
  …
@@ -2401,6 +2502,7 @@
  …
  $
  </screen>
+      </informalexample>

        <!-- ### TODO: This changes a bit in 1.7 -->

@@ -2413,7 +2515,8 @@
          of this subcommand is identical to that of the <command>svn
          checkout</command>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  # Export the trunk from the latest revision.
  $ svn export http://svn.example.com/svn/repo/trunk trunk-export
  …
@@ -2425,6 +2528,7 @@
  …
  $
  </screen>
+      </informalexample>

      </sect2>

@@ -2500,7 +2604,8 @@
          locks in the working copy, too, by displaying
          an <literal>L</literal> next to those locked paths:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status
    L     somedir
  M       somedir/foo.c
@@ -2508,6 +2613,7 @@
  $ svn status
  M       somedir/foo.c
  </screen>
+      </informalexample>

        <para>Don't confuse these working copy administrative locks with
          the user-managed locks that Subversion users create when using
@@ -2597,7 +2703,8 @@
        <para>Suppose a software project you were working on currently
          looked like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn ls -Rv svn://svn.example.com/trunk/
        4 harry                 Feb 06 14:34 ./
        4 harry              23 Feb 06 14:34 COPYING
@@ -2607,6 +2714,7 @@
        4 harry              51 Feb 06 14:34 code/bar.c
        4 harry             124 Feb 06 14:34 code/foo.c
  </screen>
+      </informalexample>

        <para>Your collaborator Harry has renamed the file
          <filename>bar.c</filename> to <filename>baz.c</filename>.  You
@@ -2616,7 +2724,8 @@

        <para>The log message to Harry's commit looked like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log -r5 svn://svn.example.com/trunk
  ------------------------------------------------------------------------
  r5 | harry | 2009-02-06 14:42:59 +0000 (Fri, 06 Feb 2009) | 2 lines
@@ -2627,10 +2736,12 @@

  Rename bar.c to baz.c, and adjust Makefile accordingly.
  </screen>
+      </informalexample>

        <para>The local changes you have made look like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn diff
  Index: code/foo.c
  ===================================================================
@@ -2654,11 +2765,13 @@
  +       return "Well, I do like being moved around!\n";
   }
  </screen>
+      </informalexample>

        <para>Your changes are all based on revision 4.  They cannot be
          committed because Harry has already checked in revision 5:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn commit -m "Small fixes"
  Sending        code/bar.c
  Sending        code/foo.c
@@ -2666,14 +2779,16 @@
  svn: Commit failed (details follow):
  svn: File not found: transaction '5-5', path '/trunk/code/bar.c'
  </screen>
+      </informalexample>
  <!-- XXX: That error message should be cleaned up! -->

        <para>At this point, you need to run <command>svn update</command>.
          Besides bringing our working copy up to date so that you can
          see Harry's changes, this also flags a tree conflict so you
          have the opportunity to evaluate and properly resolve it.</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ svn update
     C code/bar.c
  A    code/baz.c
@@ -2682,19 +2797,22 @@
  Summary of conflicts:
    Tree conflicts: 1
  </screen>
+      </informalexample>

        <para>In its output, <command>svn update</command> signifies tree
          conflicts using a capital C in the fourth output column.
          <command>svn status</command> reveals additional details of the
          conflict:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status
  M       code/foo.c
  A  +  C code/bar.c
        >   local edit, incoming delete upon update
  M       code/baz.c
  </screen>
+      </informalexample>

        <para>Note how bar.c is automatically scheduled for re-addition
          in your working copy, which simplifies things in case you want
@@ -2722,7 +2840,8 @@
          local edits in <filename>bar.c</filename>
          into <filename>baz.c</filename>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn diff code/baz.c
  Index: code/baz.c
  ===================================================================
@@ -2735,6 +2854,7 @@
  +       return "Well, I do like being moved around!\n";
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/src/en/book/ch03-advanced-topics.xml	Thu Jun 30 11:20:09 2011
+++ /trunk/src/en/book/ch03-advanced-topics.xml	Fri Jul  1 07:34:08 2011
@@ -167,7 +167,8 @@
        <para>Here are some examples of revision keywords in
          action:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn diff -r PREV:COMMITTED foo.c
  # shows the last change committed to foo.c

@@ -193,6 +194,7 @@
  # compares the unmodified version of foo.c with the way foo.c looked
  # in revision 14
  </screen>
+      </informalexample>

      </sect2>

@@ -216,7 +218,8 @@
          some examples.  (Remember to use quotes around any date that
          contains spaces.)</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn checkout -r {2006-02-17}
  $ svn checkout -r {15:30}
  $ svn checkout -r {15:30:00.200000}
@@ -230,18 +233,21 @@
  $ svn checkout -r {20060217T1530-0500}
  …
  </screen>
+      </informalexample>

        <para>When you specify a date, Subversion resolves that date to
          the most recent revision of the repository as of that date,
          and then continues to operate against that resolved revision
          number:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log -r {2006-11-28}
  ------------------------------------------------------------------------
  r12 | ira | 2006-11-27 12:31:51 -0600 (Mon, 27 Nov 2006) | 6 lines
  …
  </screen>
+      </informalexample>

        <sidebar>
          <title>Is Subversion a Day Early?</title>
@@ -269,10 +275,12 @@
        <para>You can also use a range of dates.  Subversion will find
          all revisions between both dates, inclusive:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log -r {2006-11-20}:{2006-11-29}
  …
  </screen>
+      </informalexample>

        <warning>
          <para>Since the timestamp of a revision is stored as an
@@ -487,13 +495,15 @@
            output of <command>svn log</command>.  It is quite common to
            see the following in Subversion log messages:</para>

-        <programlisting>
+        <informalexample>
+          <programlisting>
  Issue(s): IZ2376, IZ1919
  Reviewed by:  sally

  This fixes a nasty segfault in the wort frabbing process
  …
  </programlisting>
+        </informalexample>

          <para>But here again lies some misfortune.  Subversion doesn't
            yet provide a log message templating mechanism, which would
@@ -515,11 +525,13 @@
          on the command line of the <command>svn propset</command>
          subcommand:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propset copyright '(c) 2006 Red-Bean Software' calc/button.c
  property 'copyright' set on 'calc/button.c'
  $
  </screen>
+      </informalexample>

        <para>But we've been touting the flexibility that Subversion
          offers for your property values.  And if you are planning to
@@ -530,11 +542,13 @@
          specifying the name of a file that contains the new property
          value.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propset license -F /path/to/LICENSE calc/button.c
  property 'license' set on 'calc/button.c'
  $
  </screen>
+      </informalexample>

        <para>There are some restrictions on the names you can use for
          properties.  A property name must start with a letter, a colon
@@ -565,11 +579,13 @@
          value.  If you exit your editor without making any changes, no
          property modification will occur:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propedit copyright calc/button.c  ### exit the editor without changes
  No changes to property 'copyright' on 'calc/button.c'
  $
  </screen>
+      </informalexample>

        <para>We should note that, as with other <command>svn</command>
          subcommands, those related to properties can act on multiple
@@ -577,7 +593,8 @@
          sets of files with a single command.  For example, we could
          have done the following:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propset copyright '(c) 2006 Red-Bean Software' calc/*
  property 'copyright' set on 'calc/Makefile'
  property 'copyright' set on 'calc/button.c'
@@ -585,6 +602,7 @@
  …
  $
  </screen>
+      </informalexample>

        <para>All of this property adding and editing isn't really very
          useful if you can't easily get the stored property value.  So
@@ -598,7 +616,8 @@
          paths), print the value of the property to
          the standard output stream.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn proplist calc/button.c
  Properties on 'calc/button.c':
    copyright
@@ -606,13 +625,15 @@
  $ svn propget copyright calc/button.c
  (c) 2006 Red-Bean Software
  </screen>
+      </informalexample>

        <para>There's even a variation of the
          <command>proplist</command> command that will list both the
          name and the value for all of the properties.  Simply supply the
          <option>--verbose</option> (<option>-v</option>) option.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn proplist -v calc/button.c
  Properties on 'calc/button.c':
    copyright
@@ -630,6 +651,7 @@
      red-beans-and-rice.
      …
  </screen>
+      </informalexample>

        <para>The last property-related subcommand is
          <command>propdel</command>.  Since Subversion allows you to
@@ -638,7 +660,8 @@
          <command>svn propset</command>.  For example, this command will
          <emphasis>not</emphasis> yield the desired effect:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propset license "" calc/button.c
  property 'license' set on 'calc/button.c'
  $ svn proplist -v calc/button.c
@@ -649,12 +672,14 @@

  $
  </screen>
+      </informalexample>

        <para>You need to use the <command>propdel</command> subcommand
          to delete properties altogether.  The syntax is similar to the
          other property commands:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propdel license calc/button.c
  property 'license' deleted from 'calc/button.c'.
  $ svn proplist -v calc/button.c
@@ -663,6 +688,7 @@
      (c) 2006 Red-Bean Software
  $
  </screen>
+      </informalexample>

        <para>Remember those unversioned revision properties?  You can
          modify those, too, using the same <command>svn</command>
@@ -687,22 +713,26 @@
          your repository, you can simply run the
          <command>svn propset</command> command with no target path:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propset svn:log "* button.c: Fix a compiler warning." -r11 --revprop
  property 'svn:log' set on repository revision '11'
  $
  </screen>
+      </informalexample>

        <para>But even if you haven't checked out a working copy from
          that repository, you can still effect the property change by
          providing the repository's root URL:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propset svn:log "* button.c: Fix a compiler warning." -r11 --revprop  
\
                http://svn.example.com/repos/project
  property 'svn:log' set on repository revision '11'
  $
  </screen>
+      </informalexample>

        <para>Note that the ability to modify these unversioned
          properties must be explicitly added by the repository
@@ -752,7 +782,8 @@
          <command>svn status</command> and <command>svn diff</command>
          commands.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status calc/button.c
   M      calc/button.c
  $ svn diff calc/button.c
@@ -763,6 +794,7 @@

  $
  </screen>
+      </informalexample>

        <para>Notice how the <command>status</command> subcommand
          displays <literal>M</literal> in the second column instead of
@@ -783,7 +815,8 @@
            Subversion will report that the object is in a conflicted
            state.</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn update calc
  M  calc/Makefile.in
  Conflict for property 'linecount' discovered on 'calc/button.c'.
@@ -793,6 +826,7 @@
  Updated to revision 143.
  $
  </screen>
+        </informalexample>

          <para>Subversion will also create, in the same directory as
            the conflicted object, a file with a
@@ -804,7 +838,8 @@
            status</command> output for that object, and attempts to
            commit your local modifications will fail.</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn status calc
   C      calc/button.c
  ?       calc/button.c.prej
@@ -813,6 +848,7 @@
  but property has been locally changed from '1267' to '1256'.
  $
  </screen>
+        </informalexample>

          <para>To resolve property conflicts, simply ensure that the
            conflicting properties contain the values that they should,
@@ -1334,7 +1370,8 @@
          shell prompt.  The following are some examples of patterns
          being used for various things:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ ls   ### the book sources
  appa-quickstart.xml             ch06-server-configuration.xml
  appb-svn-for-cvs-users.xml      ch07-customizing-svn.xml
@@ -1360,6 +1397,7 @@
  ch05-repository-admin.xml  ch08-embedding-svn.xml
  $
  </screen>
+      </informalexample>

        <para>File pattern matching is a bit more complex than what
          we've described here, but this basic usage level tends to suit
@@ -1409,11 +1447,13 @@
          <filename>.cvsignore</filename> file as input file to the
          <command>svn propset</command> command:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn propset svn:ignore -F .cvsignore .
  property 'svn:ignore' set on '.'
  $
-</screen>
+</screen>
+      </informalexample>

        <para>There are, however, some differences in the ways that CVS
          and Subversion handle ignore patterns.  The two systems use
@@ -1435,7 +1475,8 @@
      <para>Say you have the following output from <command>svn
        status</command>:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn status calc
   M      calc/button.c
  ?       calc/calculator
@@ -1445,6 +1486,7 @@
  ?       calc/debug_log.2.gz
  ?       calc/debug_log.3.gz
  </screen>
+    </informalexample>

      <para>In this example, you have made some property modifications
        to <filename>button.c</filename>, but in your working copy, you
@@ -1464,26 +1506,31 @@
        <command>svn status</command>, and you are pretty sure that
        nobody else is interested in them either.  So you use
        <userinput>svn propedit svn:ignore calc</userinput> to add some
-      ignore patterns to the <filename>calc</filename> directory.  For
-      example, you might add this as the new value of the
-      <literal>svn:ignore</literal> property:</para>
-
-    <programlisting>
+      ignore patterns to the <filename>calc</filename>
+      directory.</para>
+
+    <informalexample>
+      <screen>
+$ svn propget svn:ignore calc
  calculator
  debug_log*
-</programlisting>
+$
+</screen>
+    </informalexample>

      <para>After you've added this property, you will now have a local
        property modification on the <filename>calc</filename>
        directory.  But notice what else is different about your
        <command>svn status</command> output:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn status
   M      calc
   M      calc/button.c
  ?       calc/data.c
  </screen>
+    </informalexample>

      <para>Now, all that cruft is missing from the output!  Your
        <filename>calculator</filename> compiled program and all those
@@ -1499,7 +1546,8 @@
        see the ignored files as part of the status report, you can pass
        the <option>--no-ignore</option> option to Subversion:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn status --no-ignore
   M      calc
   M      calc/button.c
@@ -1510,6 +1558,7 @@
  I       calc/debug_log.2.gz
  I       calc/debug_log.3.gz
  </screen>
+    </informalexample>

      <para>As mentioned earlier, the list of file patterns to ignore is
        also used by <command>svn add</command> and <command>svn
@@ -1704,23 +1753,27 @@
        <filename>weather.txt</filename> that looks like
        this:</para>

-    <programlisting>
+    <informalexample>
+      <programlisting>
  Here is the latest report from the front lines.
  $LastChangedDate$
  $Rev$
  Cumulus clouds are appearing more frequently as summer approaches.
  </programlisting>
+    </informalexample>

      <para>With no <literal>svn:keywords</literal> property set on
        that file, Subversion will do nothing special.  Now, let's
        enable substitution of the
        <literal>LastChangedDate</literal> keyword.</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn propset svn:keywords "Date Author" weather.txt
  property 'svn:keywords' set on 'weather.txt'
  $
-</screen>
+</screen>
+    </informalexample>

      <para>Now you have made a local property modification on the
        <filename>weather.txt</filename> file.  You will see no
@@ -1748,12 +1801,14 @@
        anchor used the alias <literal>$LastChangedDate$</literal>
        and still expanded correctly:</para>

-    <screen>
+    <informalexample>
+      <screen>
  Here is the latest report from the front lines.
  $LastChangedDate: 2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006) $
  $Rev$
  Cumulus clouds are appearing more frequently as summer approaches.
  </screen>
+    </informalexample>

      <para>If someone else now commits a change to
        <filename>weather.txt</filename>, your copy of that file
@@ -1813,21 +1868,25 @@
        substitution syntax, your file might look something
        like:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $Rev$:     Revision of last commit
  $Author$:  Author of last commit
  $Date$:    Date of last commit
  </screen>
+    </informalexample>

      <para>Now, that looks nice and tabular at the start of things.
        But when you then commit that file (with keyword substitution
        enabled, of course), you see:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $Rev: 12 $:     Revision of last commit
  $Author: harry $:  Author of last commit
  $Date: 2006-03-15 02:33:03 -0500 (Wed, 15 Mar 2006) $:    Date of last  
commit
  </screen>
+    </informalexample>

      <para>The result is not so beautiful.  And you might be
        tempted to then adjust the file after the substitution so
@@ -1840,11 +1899,13 @@
        fixed-length keyword syntax and define some field widths that
        seem sane, so your file might look like this:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $Rev::               $:  Revision of last commit
  $Author::            $:  Author of last commit
  $Date::              $:  Date of last commit
  </screen>
+    </informalexample>

      <para>You commit this change to your file.  This time,
        Subversion notices the new fixed-length keyword syntax and
@@ -1856,11 +1917,13 @@
        padded with spaces, and the long <literal>Date</literal>
        field is truncated by a hash character:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $Rev:: 13            $:  Revision of last commit
  $Author:: harry      $:  Author of last commit
  $Date:: 2006-03-15 0#$:  Date of last commit
  </screen>
+    </informalexample>

      <para>The use of fixed-length keywords is especially handy
        when performing substitutions into complex file formats that
@@ -1915,7 +1978,8 @@
        regular <command>svn checkout</command> operation will give us a
        working copy of the whole tree:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout file:///var/svn/repos mom
  A    mom/son
  A    mom/son/grandson
@@ -1930,16 +1994,19 @@
  Checked out revision 1.
  $
  </screen>
+    </informalexample>

      <para>Now, let's check out the same tree again, but this time
        we'll ask Subversion to give us only the topmost directory
        with none of its children at all:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout file:///var/svn/repos mom-empty --depth empty
  Checked out revision 1
  $
  </screen>
+    </informalexample>

      <para>Notice that we added to our original <command>svn
        checkout</command> command line a new <option>--depth</option>
@@ -2013,11 +2080,13 @@
          info</command> will display a line describing that depth
          value:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn info mom-immediates | grep "^Depth:"
  Depth: immediates
  $
  </screen>
+      </informalexample>
      </tip>

      <para>Our previous examples demonstrated checkouts of infinite
@@ -2025,7 +2094,8 @@
        empty depth.  Let's look now at examples of the other depth
        values:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout file:///var/svn/repos mom-files --depth files
  A    mom-files/kitty1.txt
  A    mom-files/doggie1.txt
@@ -2038,6 +2108,7 @@
  Checked out revision 1.
  $
  </screen>
+    </informalexample>

      <para>As described, each of these depths is something more than
        only the target, but something less than full recursion.</para>
@@ -2068,7 +2139,8 @@
        telescope it deeper using <userinput>svn update
        --set-depth <replaceable>NEW-DEPTH</replaceable>  
<replaceable>TARGET</replaceable></userinput>:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn update --set-depth files mom-empty
  A    mom-empty/kittie1.txt
  A    mom-empty/doggie1.txt
@@ -2087,6 +2159,7 @@
  Updated to revision 1.
  $
  </screen>
+    </informalexample>

      <para>As we gradually increased our depth selection, the
        repository gave us more pieces of our tree.</para>
@@ -2103,7 +2176,8 @@
        recursion on another branch, and keep still other pieces pruned
        (absent from disk).</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ rm -rf mom-empty
  $ svn checkout file:///var/svn/repos mom-empty --depth empty
  Checked out revision 1.
@@ -2120,6 +2194,7 @@
  Updated to revision 1.
  $
  </screen>
+    </informalexample>

      <para>Fortunately, having a complex collection of ambient depths
        in a single working copy doesn't complicate the way you interact
@@ -2347,11 +2422,13 @@
          about to change it), he locks the file in the repository using
          the <command>svn lock</command> command.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn lock banana.jpg -m "Editing file for tomorrow's release."
  'banana.jpg' locked by user 'harry'.
  $
  </screen>
+      </informalexample>

        <para>The preceding example demonstrates a number of new things.
          First, notice that Harry passed the
@@ -2381,7 +2458,8 @@
          output of the <command>svn status</command> and <command>svn
          info</command> reporting subcommands.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status
       K  banana.jpg

@@ -2407,6 +2485,7 @@

  $
  </screen>
+      </informalexample>

        <para>The fact that the <command>svn info</command> command,
          which does not contact the repository when run against working
@@ -2448,7 +2527,8 @@
        <para>Now that Harry has locked <filename>banana.jpg</filename>,
          Sally is unable to change or delete that file:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn delete banana.jpg
  D         banana.jpg
  $ svn commit -m "Delete useless file."
@@ -2459,13 +2539,15 @@
  banana.jpg'
  $
  </screen>
+      </informalexample>

        <para>But Harry, after touching up the banana's shade of yellow,
          is able to commit his changes to the file.  That's because he
          authenticates as the lock owner and also because his working
          copy holds the correct lock token:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status
  M    K  banana.jpg
  $ svn commit -m "Make banana more yellow"
@@ -2475,6 +2557,7 @@
  $ svn status
  $
  </screen>
+      </informalexample>

        <para>Notice that after the commit is finished, <command>svn
          status</command> shows that the lock token is no longer
@@ -2507,10 +2590,12 @@
          change to it.  The lock can be released at any time with a
          simple <command>svn unlock</command> command:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn unlock banana.c
  'banana.c' unlocked.
  </screen>
+      </informalexample>

      </sect2>

@@ -2522,7 +2607,8 @@
          fairly easy to learn about them.  The easiest way is to run
          <userinput>svn status -u</userinput>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status -u
  M               23   bar.c
  M    O          32   raisin.jpg
@@ -2530,6 +2616,7 @@
  Status against revision:     105
  $
  </screen>
+      </informalexample>

        <para>In this example, Sally can see not only that her copy of
          <filename>foo.h</filename> is out of date, but also that one of the
@@ -2542,7 +2629,8 @@
          and why.  Once again, <command>svn info</command> has the
          answers:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn info http://svn.example.com/repos/project/raisin.jpg
  Path: raisin.jpg
  Name: raisin.jpg
@@ -2560,6 +2648,7 @@
  Need to make a quick tweak to this image.
  $
  </screen>
+      </informalexample>

        <para>Just as you can use <command>svn info</command> to examine
          objects in the working copy, you can also use it to examine
@@ -2602,7 +2691,8 @@
          more information about these tools, see
          <xref linkend="svn.reposadmin.maint.tk"/>.)</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin lslocks /var/svn/repos
  Path: /project2/images/banana.jpg
  UUID Token: opaquelocktoken:c32b4d88-e8fb-2310-abb3-153ff1236923
@@ -2624,13 +2714,15 @@
  Removed lock on '/project/raisin.jpg'.
  $
  </screen>
+      </informalexample>

        <para>The more interesting option is to allow users to break
          each other's locks over the network.  To do this, Sally simply
          needs to pass the <option>--force</option> to the <command>svn
          unlock</command> command:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status -u
  M               23   bar.c
  M    O          32   raisin.jpg
@@ -2646,6 +2738,7 @@
  'raisin.jpg' unlocked.
  $
  </screen>
+      </informalexample>

        <para>Now, Sally's initial attempt to unlock failed because she
          ran <command>svn unlock</command> directly on her working copy
@@ -2670,13 +2763,15 @@
          do this, Sally passes the <option>--force</option> option
          to <command>svn lock</command>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn lock raisin.jpg
  svn: Lock request failed: 423 Locked (http://svn.example.com)
  $ svn lock --force raisin.jpg
  'raisin.jpg' locked by user 'sally'.
  $
  </screen>
+      </informalexample>

        <para>In any case, whether the lock is broken or stolen, Harry
          may be in for a surprise.  Harry's working copy still contains
@@ -2688,7 +2783,8 @@
          <command>svn status</command> to contact the
          repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status
       K  raisin.jpg
  $ svn status -u
@@ -2698,6 +2794,7 @@
  $ svn status
  $
  </screen>
+      </informalexample>

        <para>If the repository lock was broken, then <userinput>svn
          status --show-updates</userinput> (<option>-u</option>)
@@ -2783,7 +2880,8 @@
          reminds her to lock the file before editing, whereby she
          discovers the preexisting lock:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ /usr/local/bin/gimp raisin.jpg
  gimp: error: file is read-only!
  $ ls -l raisin.jpg
@@ -2798,6 +2896,7 @@
  Making some tweaks.  Locking for the next two hours.
  $
  </screen>
+      </informalexample>

        <tip>
          <para>Users and administrators alike are encouraged to attach
@@ -2902,19 +3001,22 @@
        Subversion repository URLs.  An example of this might look as
        follows:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn propget svn:externals calc
  third-party/sounds             http://svn.example.com/repos/sounds
  third-party/skins -r148        http://svn.example.com/skinproj
  third-party/skins/toolkit -r21 http://svn.example.com/skin-maker
  </screen>
+    </informalexample>

      <para>When someone checks out a working copy of the
        <filename>calc</filename> directory referred to in the previous
        example, Subversion also continues to check out the items found
        in its externals definition.</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout http://svn.example.com/repos/calc
  A  calc
  A  calc/Makefile
@@ -2934,6 +3036,7 @@
  Fetching external item into calc/third-party/skins
  …
  </screen>
+    </informalexample>

      <para>As of Subversion 1.5, though, a new format of the
        <literal>svn:externals</literal> property is supported.
@@ -2949,23 +3052,27 @@
        The previous example of an externals definition might, in
        Subversion 1.5, look like the following:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn propget svn:externals calc
        http://svn.example.com/repos/sounds third-party/sounds
  -r148 http://svn.example.com/skinproj third-party/skins
  -r21  http://svn.example.com/skin-maker third-party/skins/toolkit
  </screen>
+    </informalexample>

      <para>Or, making use of the peg revision syntax (which we describe
        in detail in <xref linkend="svn.advanced.pegrevs" />), it might
        appear as:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn propget svn:externals calc
  http://svn.example.com/repos/sounds third-party/sounds
  http://svn.example.com/skinproj@148 third-party/skins
  http://svn.example.com/skin-maker@21 third-party/skins/toolkit
  </screen>
+    </informalexample>

      <tip>
        <para>You should seriously consider using explicit revision
@@ -3001,7 +3108,8 @@
        latest revision of another of its subdirectories
        (<filename>my-project/external-dir</filename>).</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn checkout http://svn.example.com/projects .
  A    my-project
  A    my-project/some-dir
@@ -3016,6 +3124,7 @@

  $
  </screen>
+    </informalexample>

      <para>Now you use <command>svn move</command> to rename the
        <filename>my-project</filename> directory.  At this point, your
@@ -3023,7 +3132,8 @@
        <filename>my-project</filename> directory, even though that
        directory no longer exists.</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn move -q my-project renamed-project
  $ svn commit -m "Rename my-project to renamed-project."
  Deleting       my-project
@@ -3036,6 +3146,7 @@
  svn: Target path does not exist
  $
  </screen>
+    </informalexample>

      <para>Also, absolute URLs can cause problems with repositories
        that are available via multiple URL schemes.  For example, if
@@ -3092,13 +3203,15 @@
        definition example, and making use of the new absolute URL
        syntax in various ways, we might now see:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn propget svn:externals calc
  ^/sounds third-party/sounds
  /skinproj at 148 third-party/skins
  //svn.example.com/skin-maker at 21 third-party/skins/toolkit
  $
  </screen>
+    </informalexample>

      <para>Subversion 1.6 brings two more improvements to externals
        definitions.  First, it adds a quoting and escape mechanism to
@@ -3113,12 +3226,14 @@
        definition, you should use the standard URI-encoding mechanism
        to represent those.</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn propget svn:externals paint
  http://svn.thirdparty.com/repos/My%20Project "My Project"
  http://svn.thirdparty.com/repos/%22Quotes%20Too%22 \"Quotes\ Too\"
  $
  </screen>
+    </informalexample>

      <para>Subversion 1.6 also introduces support for external
        definitions for files.  <firstterm>File externals</firstterm>
@@ -3134,7 +3249,8 @@
      <para>The externals definition required to achieve this should
        look familiar by now:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn propget svn:externals www/
  ^/trunk/bikeshed/blue.html at 40 green.html
  $ svn update
@@ -3147,6 +3263,7 @@
      X   www/green.html
  $
  </screen>
+    </informalexample>

      <para>As you can see in the previous output, Subversion denotes file
        externals with the letter <literal>E</literal> when they are
@@ -3164,7 +3281,8 @@
        <command>svn info</command>, you can see the URL and revision
        the external is coming from:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn info www/green.html
  Path: www/green.html
  Name: green.html
@@ -3180,6 +3298,7 @@
  Checksum: 01a58b04617b92492d99662c3837b33b
  $
  </screen>
+    </informalexample>

      <para>Because file externals appear in the working copy as
        versioned files, they can be modified and even committed
@@ -3189,7 +3308,8 @@
        the external to an older revision, so attempting to commit
        the external fails:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn status
  M   X   www/green.html
  $ svn commit -m "change the color" www/green.html
@@ -3198,6 +3318,7 @@
  svn: File '/trunk/bikeshed/blue.html' is out of date
  $
  </screen>
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/src/en/book/ch04-branching-and-merging.xml	Thu Jun 30 09:57:00  
2011
+++ /trunk/src/en/book/ch04-branching-and-merging.xml	Fri Jul  1 07:34:08  
2011
@@ -175,13 +175,15 @@
          also be used to do a <quote>remote</quote> copy entirely
          within the repository.  Just copy one URL to another:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy http://svn.example.com/repos/calc/trunk \
             http://svn.example.com/repos/calc/branches/my-calc-branch \
        -m "Creating a private branch of /calc/trunk."

  Committed revision 341.
  </screen>
+      </informalexample>

        <para>This command causes a near-instantaneous commit in the
          repository, creating a new directory in revision 341.  The new
@@ -254,13 +256,15 @@
        <para>Now that you've created a branch of the project, you can
          check out a new working copy to start using it:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
  A  my-calc-branch/Makefile
  A  my-calc-branch/integer.c
  A  my-calc-branch/button.c
  Checked out revision 341.
  </screen>
+      </informalexample>

        <para>There's nothing special about this working copy; it simply
          mirrors a different directory in the repository.  When you
@@ -307,7 +311,8 @@
          changes made to your copy of
          <filename>integer.c</filename>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/my-calc-branch

@@ -342,6 +347,7 @@

  ------------------------------------------------------------------------
  </screen>
+      </informalexample>

        <para>Notice that Subversion is tracing the history of your
          branch's <filename>integer.c</filename> all the way back
@@ -352,7 +358,8 @@
          copied.  Now look at what happens when Sally runs the same
          command on her copy of the file:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/sally/calc

@@ -380,6 +387,7 @@

  ------------------------------------------------------------------------
  </screen>
+      </informalexample>

        <para>Sally sees her own revision 344 change, but not the change
          you made in revision 343.  As far as Subversion is concerned,
@@ -544,7 +552,8 @@
          modifications reported by <command>svn status</command>.  Then
          simply run:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/my-calc-branch

@@ -553,6 +562,7 @@
  U    button.c
  U    integer.c
  </screen>
+      </informalexample>

        <para>This basic syntax—<userinput>svn merge
          <replaceable>URL</replaceable></userinput>—tells
@@ -568,12 +578,14 @@
          duplications of all of the changes that have happened on the
          trunk since you first created your branch:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn status
   M      .
  M       button.c
  M       integer.c
  </screen>
+      </informalexample>

        <para>At this point, the wise thing to do is look at the changes
          carefully with <command>svn diff</command>, and then build and
@@ -600,7 +612,8 @@
          collaborators.  If things look good, however, you can
          submit these changes into the repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn commit -m "Merged latest trunk changes to my-calc-branch."
  Sending        .
  Sending        button.c
@@ -608,6 +621,7 @@
  Transmitting file data ..
  Committed revision 357.
  </screen>
+      </informalexample>

        <para>At this point, your private branch is now <quote>in
            sync</quote> with the trunk, so you can rest easier knowing
@@ -624,7 +638,8 @@
            <command>patch</command> command to accomplish the same job?
            For example:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ cd my-calc-branch
  $ svn diff -r 341:HEAD ^/calc/trunk > patchfile
  $ patch -p0  < patchfile
@@ -635,6 +650,7 @@
  Hunk #4 succeeded at 249.
  done
  </screen>
+        </informalexample>

          <para>In this particular example, there really isn't much
            difference.  But <command>svn merge</command> has special
@@ -672,13 +688,15 @@
          yourself in sync.  Just run the same merge command
          again!</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge ^/calc/trunk
  --- Merging r357 through r380 into '.':
  U    integer.c
  U    Makefile
  A    README
  </screen>
+      </informalexample>

        <para>Subversion knows which trunk changes you've already
          replicated to your branch, so it carefully replicates only
@@ -699,7 +717,8 @@
          your branch in sync with the trunk again, just as you've been
          doing all along:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge ^/calc/trunk
  --- Merging r381 through r385 into '.':
  U    button.c
@@ -714,6 +733,7 @@
  Transmitting file data ..
  Committed revision 390.
  </screen>
+      </informalexample>

        <para>Now, you use <command>svn merge</command> to replicate
          your branch changes back into the trunk.  You'll need an
@@ -735,7 +755,8 @@
        <para>Once you have a clean working copy of the trunk, you're
          ready to merge your branch back into it:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/calc-trunk

@@ -759,6 +780,7 @@
  Transmitting file data ..
  Committed revision 391.
  </screen>
+      </informalexample>

        <para>Congratulations, your branch has now been remerged back
          into the main line of development.  Notice our use of
@@ -793,11 +815,13 @@
        <para>Now that your private branch is merged to trunk, you may
          wish to remove it from the repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn delete ^/calc/branches/my-calc-branch \
        -m "Remove my-calc-branch."
  Committed revision 392.
  </screen>
+      </informalexample>

        <para>But wait!  Isn't the history of that branch valuable?
          What if somebody wants to audit the evolution of your feature
@@ -819,7 +843,8 @@
          want to keep working on your feature branch, we recommend
          destroying it and then re-creating it from the trunk:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn delete http://svn.example.com/repos/calc/branches/my-calc-branch \
        -m "Remove my-calc-branch."
  Committed revision 392.
@@ -834,6 +859,7 @@
  $ svn switch ^/calc/branches/new-branch
  Updated to revision 393.
  </screen>
+      </informalexample>

        <para>The final command in the prior example—<command>svn
          switch</command>—is a way of updating an existing working
@@ -862,11 +888,13 @@
        <para>You can examine the property, just like any
          other:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd my-calc-branch
  $ svn propget svn:mergeinfo .
  /trunk:341-390
  </screen>
+      </informalexample>

        <para>It is <emphasis>not</emphasis> recommended that you change
          the value of this property yourself, unless you really know
@@ -885,7 +913,8 @@
          of preview of the next set of changes that <command>svn
          merge</command> will replicate to your branch.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd my-calc-branch

  # Which changes have already been merged from trunk to branch?
@@ -906,6 +935,7 @@
  r394
  r395
  </screen>
+      </informalexample>

        <para>The <command>svn mergeinfo</command> command requires
          a <quote>source</quote> URL (where the changes would be coming
@@ -921,13 +951,15 @@
          operation is to use the <option>--dry-run</option>
          option:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge ^/calc/trunk --dry-run
  U    integer.c

  $ svn status
  #  nothing printed, working copy is still unchanged.
  </screen>
+      </informalexample>

        <para>The <option>--dry-run</option> option doesn't actually
          apply any local changes to the working copy.  It shows only
@@ -998,7 +1030,8 @@
          equivalent <option>--change -303</option>.)</para>


-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge -c -303 ^/calc/trunk
  --- Reverse-merging r303 into 'integer.c':
  U    integer.c
@@ -1017,6 +1050,7 @@
  Transmitting file data .
  Committed revision 350.
  </screen>
+      </informalexample>

        <para>As we mentioned earlier, one way to think about a
          repository revision is as a specific changeset.  By using the
@@ -1102,7 +1136,8 @@
          to examine the log output (via <command>grep</command>, or
          perhaps via an incremental search in an editor).</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd parent-dir
  $ svn log -v
  …
@@ -1116,6 +1151,7 @@
  Removed real.c because code now in double.c.
  …
  </screen>
+      </informalexample>

        <para>In the example, we're assuming that you're looking for a
          deleted file <filename>real.c</filename>.  By looking through
@@ -1156,7 +1192,8 @@
          revision and path <quote>coordinate pair</quote> from the
          repository to your working copy:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy ^/calc/trunk/real.c at 807 ./real.c

  $ svn status
@@ -1167,6 +1204,7 @@
  Transmitting file data .
  Committed revision 1390.
  </screen>
+      </informalexample>

        <para>The plus sign in the status output indicates that the item
          isn't merely scheduled for addition, but scheduled for
@@ -1182,7 +1220,8 @@
          maintaining a historical link to the old file, this technique
          works just as well:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn cat ^/calc/trunk/real.c at 807 > ./real.c

  $ svn add real.c
@@ -1193,6 +1232,7 @@
  Transmitting file data .
  Committed revision 1390.
  </screen>
+      </informalexample>

        <para>Although our example shows us resurrecting a file, note
          that these same techniques work just as well for resurrecting
@@ -1200,7 +1240,8 @@
          have to happen in your working copy—it can happen
          entirely in the repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy ^/calc/trunk/real.c at 807 ^/calc/trunk/ \
        -m "Resurrect real.c from revision 807."
  Committed revision 1390.
@@ -1209,6 +1250,7 @@
  A    real.c
  Updated to revision 1390.
  </screen>
+      </informalexample>

      </sect2>

@@ -1259,7 +1301,8 @@
          you certainly need that particular bug fix in order to continue
          your work.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn diff -c 355 ^/calc/trunk

  Index: integer.c
@@ -1276,18 +1319,21 @@
       case 11:  sprintf(info->operating_system, "NTFS (Windows NT)");  
break;
       case 12:  sprintf(info->operating_system, "QDOS"); break;
  </screen>
+      </informalexample>

        <para>Just as you used <command>svn diff</command> in the prior
          example to examine revision 355, you can pass the same option
          to <command>svn merge</command>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge -c 355 ^/calc/trunk
  U    integer.c

  $ svn status
  M       integer.c
  </screen>
+      </informalexample>

        <para>You can now go through the usual testing procedures before
          committing this change to your branch.  After the commit,
@@ -1297,7 +1343,8 @@
          same change to the same branch almost always results in a
          conflict!)</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd my-calc-branch

  $ svn propget svn:mergeinfo .
@@ -1327,6 +1374,7 @@
  U    integer.c
  U    button.c
  </screen>
+      </informalexample>

        <para>This use case of replicating
          (or <firstterm>backporting</firstterm>) bug fixes from one
@@ -1421,9 +1469,11 @@
          right thing automatically.  For example, a command such as the
          following:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge ^/calc/branches/some-branch
  </screen>
+      </informalexample>

        <para>will attempt to duplicate any changes made
          on <filename>some-branch</filename> into your current working
@@ -1469,7 +1519,8 @@
          specify the three necessary arguments rather flexibly.  Here
          are some examples:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge http://svn.example.com/repos/branch1@150 \
              http://svn.example.com/repos/branch2@212 \
              my-working-copy
@@ -1478,6 +1529,7 @@

  $ svn merge -r 100:200 http://svn.example.com/repos/trunk
  </screen>
+      </informalexample>

        <para>The first syntax lays out all three arguments explicitly,
          naming each tree in the form <emphasis>URL at REV</emphasis> and
@@ -1609,7 +1661,8 @@
          similarly complain about <quote>skipped
          targets</quote>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn merge -r 1288:1351 http://svn.example.com/myrepos/branch
  U    foo.c
  U    bar.c
@@ -1621,6 +1674,7 @@
  Select: (p) postpone, (df) diff-full, (e) edit,
          (h) help for more options:
  </screen>
+      </informalexample>

        <para>In the previous example, it might be the case that
          <filename>baz.c</filename> exists in both snapshots of the
@@ -1691,7 +1745,8 @@
          invoke a merge command with the <option>--record-only</option>
          option:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd my-calc-branch

  $ svn propget svn:mergeinfo .
@@ -1709,6 +1764,7 @@
  $ svn commit -m "Block r3328 from being merged to the branch."
  …
  </screen>
+      </informalexample>

        <para>This technique works, but it's also a little bit
          dangerous.  The main problem is that we're not clearly
@@ -1778,7 +1834,8 @@
          <xref linkend="svn.branchemerge.basicmerging.reintegrate"/>,
          where revision <emphasis>X</emphasis> was revision 391:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd my-calc-branch
  $ svn update
  Updated to revision 393.
@@ -1790,6 +1847,7 @@

  Committed revision 394.
  </screen>
+      </informalexample>

        <para>(Versions of Subversion prior to 1.7 do not produce any output
          during the record-only merge.)</para>
@@ -1827,7 +1885,8 @@
          your feature branch, it would show exactly every revision that ever
          affected the branch:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd my-calc-branch
  $ svn log -q
  ------------------------------------------------------------------------
@@ -1850,6 +1909,7 @@
  r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines
  ------------------------------------------------------------------------
  </screen>
+      </informalexample>

        <para>But is this really an accurate picture of all the changes
          that happened on the branch?  What's being left out here is
@@ -1858,7 +1918,8 @@
          of these logs in detail, the multiple trunk changesets that
          comprised the branch change are nowhere to be seen:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log -v -r 390
  ------------------------------------------------------------------------
  r390 | user | 2002-11-22 11:01:57 -0600 (Fri, 22 Nov 2002) | 1 line
@@ -1868,6 +1929,7 @@

  Final merge of trunk changes to my-calc-branch.
  </screen>
+      </informalexample>

        <para>We happen to know that this merge to the branch was
          nothing but a merge of trunk changes.  How can we see those
@@ -1876,7 +1938,8 @@
          option.  This option expands those <quote>child</quote>
          changes that were part of the merge.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn log -v -r 390 -g
  ------------------------------------------------------------------------
  r390 | user | 2002-11-22 11:01:57 -0600 (Fri, 22 Nov 2002) | 1 line
@@ -1900,6 +1963,7 @@

  Document my last fix in README.
  </screen>
+      </informalexample>

        <para>By making the log operation use merge history, we see not
          just the revision we queried (r390), but also the two revisions
@@ -1914,7 +1978,8 @@
          get the mistaken impression that you were responsible for the
          lines that fixed a certain error:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn blame button.c
  …
     390    user    retval = inverse_func(button, path);
@@ -1922,12 +1987,14 @@
     390    user    }
  …
  </screen>
+      </informalexample>

        <para>And while it's true that you did actually commit those
          three lines in revision 390, two of them were actually written
          by Sally back in revision 383:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn blame button.c -g
  …
  G    383    sally   retval = inverse_func(button, path);
@@ -1935,6 +2002,7 @@
       390    user    }
  …
  </screen>
+      </informalexample>

        <para>Now we know who to <emphasis>really</emphasis> blame for
          those two lines of code!</para>
@@ -1978,10 +2046,12 @@
          delete the old file, then add the new file;  the output would
          indicate a deletion followed by an add:</para>

-      <screen>
+      <informalexample>
+        <screen>
  D    foo.c
  A    foo.c
        </screen>
+      </informalexample>

        <para>Most merges involve comparing trees that are ancestrally
          related to one another; therefore, <command>svn
@@ -2046,7 +2116,8 @@
          improvements to <filename>integer.c</filename>.  Now you
          decide to merge your branch to the trunk:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd calc/trunk

  $ svn merge --reintegrate ^/calc/branches/my-calc-branch
@@ -2055,6 +2126,7 @@
  A   whole.c
  U   .
        </screen>
+      </informalexample>

        <para>This doesn't look so bad at first glance, but it's also
          probably not what you or Sally expected.  The merge operation
@@ -2206,7 +2278,8 @@
        <filename>/calc/trunk</filename> to mirror the new branch
        location:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ cd calc

  $ svn info | grep URL
@@ -2221,6 +2294,7 @@
  $ svn info | grep URL
  URL: http://svn.example.com/repos/calc/branches/my-calc-branch
  </screen>
+    </informalexample>

      <para><quote>Switching</quote> a working copy that has no local
        modifications to a different branch results in the working copy
@@ -2332,7 +2406,8 @@
            their own branch?</quote>  A great technique to do this can
            be summarized in two steps:</para>

-          <screen>
+        <informalexample>
+            <screen>
  $ svn copy http://svn.example.com/repos/calc/trunk \
             http://svn.example.com/repos/calc/branches/newbranch \
        -m "Create branch 'newbranch'."
@@ -2340,6 +2415,7 @@
  $ svn switch ^/calc/branches/newbranch
  At revision 353.
  </screen>
+          </informalexample>

          <para>The <command>svn switch</command> command, like
            <command>svn update</command>, preserves your local edits.
@@ -2384,13 +2460,15 @@
          <filename>/calc/trunk</filename> exactly as it looks in the
          <literal>HEAD</literal> revision, make a copy of it:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy http://svn.example.com/repos/calc/trunk \
             http://svn.example.com/repos/calc/tags/release-1.0 \
        -m "Tagging the 1.0 release of the 'calc' project."

  Committed revision 902.
  </screen>
+      </informalexample>

        <para>This example assumes that a
          <filename>/calc/tags</filename> directory already exists.  (If
@@ -2466,7 +2544,8 @@
          linkend="svn.ref"/>), including the ability to copy a
          working copy tree to the repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ ls
  my-working-copy/

@@ -2476,6 +2555,7 @@

  Committed revision 940.
  </screen>
+      </informalexample>

        <para>Now there is a new directory in the repository,
          <filename>/calc/tags/mytag</filename>, which is an exact
@@ -2532,18 +2612,21 @@
          tag copies.  If a repository holds only one project,
          often people create these top-level directories:</para>

-      <screen>
+      <informalexample>
+        <screen>
  /trunk
  /branches
  /tags
  </screen>
+      </informalexample>

        <para>If a repository contains multiple projects, admins
          typically index their layout by project (see <xref
          linkend="svn.reposadmin.projects.chooselayout"/> to read more about
          <quote>project roots</quote>):</para>

-      <screen>
+      <informalexample>
+        <screen>
  /paint/trunk
  /paint/branches
  /paint/tags
@@ -2551,6 +2634,7 @@
  /calc/branches
  /calc/tags
  </screen>
+      </informalexample>

        <para>Of course, you're free to ignore these common layouts.
          You can create any sort of variation, whatever works best for
@@ -2590,12 +2674,14 @@
          no need for your private branch directory to stick around
          anymore:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn delete http://svn.example.com/repos/calc/branches/my-calc-branch \
               -m "Removing obsolete branch of calc project."

  Committed revision 375.
  </screen>
+      </informalexample>

        <para>And now your branch is gone.  Of course, it's not really
          gone: the directory is simply missing from the
@@ -2612,13 +2698,15 @@
          use <command>svn copy</command> to copy it from the old
          revision:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy http://svn.example.com/repos/calc/branches/my-calc-branch@374 \
             http://svn.example.com/repos/calc/branches/my-calc-branch \
             -m "Restore my-calc-branch."

  Committed revision 376.
  </screen>
+      </informalexample>

        <para>In our example, your personal branch had a relatively
          short lifetime: you may have created it to fix a bug or
@@ -2634,13 +2722,15 @@
          a <quote>stable</quote> branch of the software that won't
          change much:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy http://svn.example.com/repos/calc/trunk \
             http://svn.example.com/repos/calc/branches/stable-1.0 \
             -m "Creating stable branch of calc project."

  Committed revision 377.
  </screen>
+      </informalexample>

        <para>And now developers are free to continue adding
          cutting-edge (or experimental) features to
@@ -2830,7 +2920,8 @@
          your branch changes.  You would then merge back with
          the <option>--reintegrate</option> option:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd trunk-working-copy

  $ svn update
@@ -2845,6 +2936,7 @@
   U   .
  …
  </screen>
+      </informalexample>

        <para>Another way of thinking about this pattern is that your
          weekly sync of trunk to branch is analogous to running
@@ -2968,12 +3060,14 @@
          directories it needs, we can actually accomplish both of these
          steps with a single command:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn import /path/to/libcomplex-1.0 \
               http://svn.example.com/repos/vendor/libcomplex/current \
               -m "importing initial 1.0 vendor drop"
  …
  </screen>
+      </informalexample>

        <para>We now have the current version of the libcomplex source
          code in <filename>/vendor/libcomplex/current</filename>.  Now,
@@ -2985,7 +3079,8 @@
          copied version of the vendor data that we will make our
          customizations:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy http://svn.example.com/repos/vendor/libcomplex/current  \
             http://svn.example.com/repos/vendor/libcomplex/1.0      \
             -m "tagging libcomplex-1.0"
@@ -2995,6 +3090,7 @@
             -m "bringing libcomplex-1.0 into the main branch"
  …
  </screen>
+      </informalexample>

        <para>We check out our project's main branch—which now
          includes a copy of the first vendor drop—and we get to
@@ -3054,7 +3150,8 @@
          version and the new current version into our main development
          branch:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ cd working-copies/calc
  $ svn merge ^/vendor/libcomplex/1.0      \
              ^/vendor/libcomplex/current  \
@@ -3063,6 +3160,7 @@
  $ svn commit -m "merging libcomplex-1.1 into the main branch"
  …
  </screen>
+      </informalexample>

        <para>In the trivial use case, the new version of our
          third-party tool would look, from a files-and-directories
@@ -3145,12 +3243,14 @@
          example, a typical run of <command>svn_load_dirs.pl</command>
          might look like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn_load_dirs.pl http://svn.example.com/repos/vendor/libcomplex \
                     current                                        \
                     /path/to/libcomplex-1.1
  …
  </screen>
+      </informalexample>

        <para>You can indicate that you'd like
          <command>svn_load_dirs.pl</command> to tag the new vendor drop
@@ -3158,13 +3258,15 @@
          specifying a tag name.  This tag is another URL relative to
          the first program argument.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn_load_dirs.pl -t libcomplex-1.1                              \
                     http://svn.example.com/repos/vendor/libcomplex \
                     current                                        \
                     /path/to/libcomplex-1.1
  …
  </screen>
+      </informalexample>

        <para>When you run <command>svn_load_dirs.pl</command>, it
          examines the contents of your existing <quote>current</quote>
@@ -3193,13 +3295,15 @@
          <literal>break</literal> or <literal>cont</literal>), and then
          optionally a property name and value.</para>

-      <screen>
+      <informalexample>
+        <screen>
  \.png$              break   svn:mime-type   image/png
  \.jpe?g$            break   svn:mime-type   image/jpeg
  \.m3u$              cont    svn:mime-type   audio/x-mpegurl
  \.m3u$              break   svn:eol-style   LF
  .*                  break   svn:eol-style   native
  </screen>
+      </informalexample>

        <para>For each added path, the configured property changes whose
          regular expression matches the path are applied in order,
=======================================
--- /trunk/src/en/book/ch05-repository-admin.xml	Thu Jun 30 11:44:34 2011
+++ /trunk/src/en/book/ch05-repository-admin.xml	Fri Jul  1 07:34:08 2011
@@ -58,11 +58,13 @@
        chaos.  So a shallow glance into a typical repository from a
        nuts-and-bolts perspective is sufficient to reveal the basic
        components of the repository:</para>
-
-    <screen>
+
+    <informalexample>
+      <screen>
  $ ls repos
  conf/  db/  format  hooks/  locks/  README.txt
  </screen>
+    </informalexample>

      <para>Here's a quick fly-by overview of what exactly you're seeing
        in this directory listing.  (Don't get bogged down in the
@@ -281,7 +283,8 @@

        <para>For example, your repository might look like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  /
     calc/
        trunk/
@@ -297,6 +300,7 @@
        branches/
     …
  </screen>
+      </informalexample>

        <para>Note that it doesn't matter where in your repository each
          project root is.  If you have only one project per repository,
@@ -308,7 +312,8 @@
          them alphabetically.  Such an arrangement might look
          like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  /
     utils/
        calc/
@@ -327,6 +332,7 @@
           branches/
        …
  </screen>
+      </informalexample>

        <para>Lay out your repository in whatever way you see fit.
          Subversion does not expect or enforce a particular layout—in
@@ -342,7 +348,8 @@
          directory of your repository, and your projects are in
          subdirectories beneath those, like so:</para>

-      <screen>
+      <informalexample>
+        <screen>
  /
     trunk/
        calc/
@@ -360,6 +367,7 @@
        spreadsheet/
        …
  </screen>
+      </informalexample>

        <para>There's nothing particularly incorrect about such a
          layout, but it may or may not seem as intuitive for your
@@ -810,12 +818,14 @@
          task.  The <command>svnadmin</command> utility that comes with
          Subversion provides a subcommand (<command>svnadmin
          create</command>) for doing just that.</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ # Create a repository
  $ svnadmin create /var/svn/repos
  $
  </screen>
+      </informalexample>

        <para>This creates a new repository in the directory
          <filename>/var/svn/repos</filename>, and with the default
@@ -825,18 +835,22 @@
          <option>--fs-type</option> argument, which accepts as a
          parameter either <literal>fsfs</literal> or
          <literal>bdb</literal>.</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ # Create an FSFS-backed repository
  $ svnadmin create --fs-type fsfs /var/svn/repos
  $
  </screen>
-
-      <screen>
+      </informalexample>
+
+      <informalexample>
+        <screen>
  # Create a Berkeley-DB-backed repository
  $ svnadmin create --fs-type bdb /var/svn/repos
  $
  </screen>
+      </informalexample>

        <para>After running this simple command, you have a Subversion
          repository.</para>
@@ -905,14 +919,16 @@
        <para>The <filename>hooks</filename> subdirectory is, by
          default, filled with templates for various repository
          hooks:</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ ls repos/hooks/
  post-commit.tmpl          post-unlock.tmpl  pre-revprop-change.tmpl
  post-lock.tmpl            pre-commit.tmpl   pre-unlock.tmpl
  post-revprop-change.tmpl  pre-lock.tmpl     start-commit.tmpl
  $
  </screen>
+      </informalexample>

        <para>There is one template for each hook that the Subversion
          repository supports; by examining the contents of those
@@ -1107,7 +1123,8 @@
            <command>svnadmin</command> is similar to that of other
            Subversion command-line programs:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnadmin help
  general usage: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
  Type 'svnadmin help <subcommand>' for help on a specific subcommand.
@@ -1119,6 +1136,7 @@
     deltify
  …
  </screen>
+        </informalexample>

          <para>Previously in this chapter (in <xref
            linkend="svn.reposadmin.basics.creating"/>), we were
@@ -1148,8 +1166,9 @@

          <para><command>svnlook</command> has a straightforward
            syntax:</para>
-
-        <screen>
+
+        <informalexample>
+          <screen>
  $ svnlook help
  general usage: svnlook SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...]
  Note: any subcommand which takes the '--revision' and '--transaction'
@@ -1159,6 +1178,7 @@
  Type 'svnlook --version' to see the program version and FS modules.
  …
  </screen>
+        </informalexample>

          <para>Most of <command>svnlook</command>'s
            subcommands can operate on either a revision or a
@@ -1177,21 +1197,25 @@
            repository located at
            <filename>/var/svn/repos</filename>:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnlook info /var/svn/repos
  $ svnlook info /var/svn/repos -r 19
  </screen>
+        </informalexample>

          <para>One exception to these rules about subcommands is
            the <command>svnlook youngest</command> subcommand, which
            takes no options and simply prints out the repository's
            youngest revision number:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnlook youngest /var/svn/repos
  19
  $
  </screen>
+        </informalexample>

          <note>
            <para>Keep in mind that the only transactions you can browse
@@ -1207,7 +1231,8 @@
            both human- and machine-parsable.  Take, as an example, the
            output of the <command>svnlook info</command> subcommand:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnlook info /var/svn/repos
  sally
  2002-11-04 09:29:13 -0600 (Mon, 04 Nov 2002)
@@ -1216,6 +1241,7 @@
  Greek tree.
  $
  </screen>
+        </informalexample>

          <para>The output of <command>svnlook info</command> consists
            of the following, in the order given:</para>
@@ -1275,7 +1301,8 @@
          <para>The syntax of <command>svndumpfilter</command> is as
            follows:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svndumpfilter help
  general usage: svndumpfilter SUBCOMMAND [ARGS & OPTIONS ...]
  Type 'svndumpfilter help <subcommand>' for help on a specific  
subcommand.
@@ -1286,6 +1313,7 @@
     include
     help (?, h)
  </screen>
+        </informalexample>

          <para>There are only two interesting subcommands:
            <command>svndumpfilter exclude</command> and
@@ -1321,7 +1349,8 @@
            syntax that looks very much like every other program we've
            mentioned in this chapter:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnsync help
  general usage: svnsync SUBCOMMAND DEST_URL  [ARGS & OPTIONS ...]
  Type 'svnsync help <subcommand>' for help on a specific subcommand.
@@ -1335,6 +1364,7 @@
     help (?, h)
  $
  </screen>
+        </informalexample>

          <para>We talk more about replicating repositories with
            <command>svnsync</command> later in this chapter (see <xref
@@ -1449,11 +1479,13 @@
          This command changes the log message (the
          <literal>svn:log</literal> property) on a given revision of a
          repository, reading the new value from a provided file.</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ echo "Here is the new, correct log message" > newlog.txt
  $ svnadmin setlog myrepos newlog.txt -r 388
  </screen>
+      </informalexample>

        <para>The <command>svnadmin setlog</command> command, by
          default, is
@@ -1560,13 +1592,15 @@
            command to list the names of the currently outstanding
            transactions:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnadmin lstxns myrepos
  19
  3a1
  a45
  $
  </screen>
+        </informalexample>

          <para>Each item in the resultant output can then be used with
            <command>svnlook</command> (and its
@@ -1582,10 +1616,12 @@
            directly from the output of
            <command>svnadmin lstxns</command>!</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnadmin rmtxns myrepos `svnadmin lstxns myrepos`
  $
  </screen>
+        </informalexample>

          <para>If you use these two subcommands like this, you should
            consider making your repository temporarily inaccessible to
@@ -1623,7 +1659,8 @@
            (see <xref linkend="svn.reposadmin.maint.tk.svnlook"/>) and
            will look something like this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ txn-info.sh myrepos
  ---[ Transaction 19 ]-------------------------------------------
  sally
@@ -1640,6 +1677,7 @@
  0
  $
  </screen>
+        </informalexample>

          <para>A long-abandoned transaction usually represents some
            sort of failed or interrupted commit.  A transaction's
@@ -1704,7 +1742,8 @@
            list-unused-dblogs</command> command to list the unused
            logfiles:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnadmin list-unused-dblogs /var/svn/repos
  /var/svn/repos/log.0000000031
  /var/svn/repos/log.0000000032
@@ -1713,6 +1752,7 @@
  $ rm `svnadmin list-unused-dblogs /var/svn/repos`
  ## disk space reclaimed!
  </screen>
+        </informalexample>

          <warning>
            <para>BDB-backed repositories whose logfiles are used as
@@ -1776,7 +1816,8 @@
            just run <command>svnadmin pack</command> on the
            repository:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnadmin pack /var/svn/repos
  Packing shard 0...done.
  Packing shard 1...done.
@@ -1787,6 +1828,7 @@
  Packing shard 36...done.
  $
  </screen>
+        </informalexample>

          <para>Because the packing process obtains the required locks
            before doing its work, you can run it on live repositories,
@@ -1877,14 +1919,16 @@
            <para>Run the command <userinput>svnadmin recover
              /var/svn/repos</userinput>.  You should see output such as
              this:</para>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  Repository lock acquired.
  Please wait; recovering the repository may take some time...

  Recovery completed.
  The latest repos revision is 19.
  </screen>
+          </informalexample>
            <para>This command may take many minutes to complete.</para>
          </listitem>
          <listitem>
@@ -1990,7 +2034,8 @@
          watching the status output in your terminal window.  For
          example:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnlook youngest myrepos
  26
  $ svnadmin dump myrepos > dumpfile
@@ -2001,6 +2046,7 @@
  * Dumped revision 25.
  * Dumped revision 26.
  </screen>
+      </informalexample>

        <para>At the end of the process, you will have a single file
          (<filename>dumpfile</filename> in the previous example) that
@@ -2018,7 +2064,8 @@
          operation.  It also gives informative feedback, this time
          using the standard output stream:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin load newrepos < dumpfile
  <<< Started new txn, based on original revision 1
       * adding path : A ... done.
@@ -2046,6 +2093,7 @@
  ------- Committed new rev 26 (loaded from original rev 26) >>>

  </screen>
+      </informalexample>

        <para>The result of a load is new revisions added to a
          repository—the same thing you get by making commits
@@ -2072,11 +2120,13 @@
          load processes, people who are feeling especially saucy can try
          things such as this (perhaps even using different versions of
          <command>svnadmin</command> on each side of the pipe):</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ svnadmin create newrepos
  $ svnadmin dump oldrepos | svnadmin load newrepos
  </screen>
+      </informalexample>

        <para>By default, the dump file will be quite large—much
          larger than the repository itself.  That's because by default
@@ -2100,10 +2150,12 @@
          If you omit this option, all the existing repository revisions
          will be dumped.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin dump myrepos -r 23 > rev-23.dumpfile
  $ svnadmin dump myrepos -r 100:200 > revs-100-200.dumpfile
  </screen>
+      </informalexample>

        <para>As Subversion dumps each new revision, it outputs only
          enough information to allow a future loader to re-create that
@@ -2137,20 +2189,24 @@
          small dump files that can be loaded in succession, instead of
          one large one, like so:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin dump myrepos -r 0:1000 > dumpfile1
  $ svnadmin dump myrepos -r 1001:2000 --incremental > dumpfile2
  $ svnadmin dump myrepos -r 2001:3000 --incremental > dumpfile3
  </screen>
+      </informalexample>

        <para>These dump files could be loaded into a new repository
          with the following command sequence:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin load newrepos < dumpfile1
  $ svnadmin load newrepos < dumpfile2
  $ svnadmin load newrepos < dumpfile3
  </screen>
+      </informalexample>

        <para>Another neat trick you can perform with this
          <option>--incremental</option> option involves appending to an
@@ -2175,16 +2231,19 @@
          <filename>ss-dumpfile</filename>—you can first create a new
          repository to hold them all:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin create /var/svn/projects
  $
  </screen>
+      </informalexample>

        <para>Then, make new directories in the repository that will
          encapsulate the contents of each of the three previous
          repositories:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn mkdir -m "Initial project roots" \
        file:///var/svn/projects/calc \
        file:///var/svn/projects/calendar \
@@ -2192,11 +2251,13 @@
  Committed revision 1.
  $
  </screen>
+      </informalexample>

        <para>Lastly, load the individual dump files into their
          respective locations in the new repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin load /var/svn/projects --parent-dir calc < calc-dumpfile
  …
  $ svnadmin load /var/svn/projects --parent-dir calendar < cal-dumpfile
@@ -2205,6 +2266,7 @@
  …
  $
  </screen>
+      </informalexample>

        <para>We'll mention one final way to use the Subversion
          repository dump format—conversion from a different
@@ -2295,7 +2357,8 @@
          <literal>spreadsheet</literal>.  They have been living
          side-by-side in a layout like this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  /
     calc/
        trunk/
@@ -2310,11 +2373,13 @@
        branches/
        tags/
  </screen>
+      </informalexample>

        <para>To get these three projects into their own repositories,
          we first dump the whole repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin dump /var/svn/repos > repos-dumpfile
  * Dumped revision 0.
  * Dumped revision 1.
@@ -2323,12 +2388,14 @@
  …
  $
  </screen>
+      </informalexample>

        <para>Next, run that dump file through the filter, each time
          including only one of our top-level directories.  This results
          in three new dump files:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svndumpfilter include calc < repos-dumpfile > calc-dumpfile
  …
  $ svndumpfilter include calendar < repos-dumpfile > cal-dumpfile
@@ -2337,6 +2404,7 @@
  …
  $
  </screen>
+      </informalexample>

        <para>At this point, you have to make a decision.  Each of your
          dump files will create a valid repository, but will preserve
@@ -2355,13 +2423,15 @@
          data that creates the <filename>calc</filename> directory.  It
          will look something like the following:</para>

-      <screen>
+      <informalexample>
+        <screen>
  Node-path: calc
  Node-action: add
  Node-kind: dir
  Content-length: 0

  </screen>
+      </informalexample>

        <warning>
          <para>If you do plan on manually editing the dump file to
@@ -2377,7 +2447,8 @@
          repositories, and load each dump file into the right
          repository, ignoring the UUID found in the dump stream:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin create calc
  $ svnadmin load --ignore-uuid calc < calc-dumpfile
  <<< Started new transaction, based on original revision 1
@@ -2398,6 +2469,7 @@
  …
  $
  </screen>
+      </informalexample>

        <para>Both of <command>svndumpfilter</command>'s subcommands
          accept options for deciding how to deal with
@@ -2447,11 +2519,13 @@
          You'll want to look at the <literal>Node-path</literal> and
          <literal>Node-copyfrom-path</literal> headers.</para>

-      <screen>
+      <informalexample>
+        <screen>
  …
  Node-path: spreadsheet/Makefile
  …
  </screen>
+      </informalexample>

        <para>If the paths have leading slashes, you should
          include leading slashes in the paths you pass to
@@ -2624,12 +2698,14 @@
          live.  Once the repository is all configured, though, we
          shouldn't need to touch it directly again.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ ssh admin at svn.example.com \
        "svnadmin create /var/svn/svn-mirror"
  admin at svn.example.com's password: ********
  $
  </screen>
+      </informalexample>

        <para>At this point, we have our repository, and due to our
          server's configuration, that repository is now
@@ -2707,7 +2783,8 @@
          1.5, though, you can use <command>svnsync</command> to mirror
          only some subtree of the repository, too.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help init
  initialize (init): usage: svnsync initialize DEST_URL SOURCE_URL

@@ -2720,6 +2797,7 @@
  Copied properties for revision 0.
  $
  </screen>
+      </informalexample>

        <para>Our target repository will now remember that it is a
          mirror of the public Subversion source code repository.
@@ -2775,7 +2853,8 @@
          begins forwarding those revisions to the target repository's
          server as new commits.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help synchronize
  synchronize (sync): usage: svnsync synchronize DEST_URL

@@ -2804,6 +2883,7 @@
  Copied properties for revision 23408.
  $
  </screen>
+      </informalexample>

        <para>Of particular interest here is that for each mirrored
          revision, there is first a commit of that revision to the
@@ -2864,11 +2944,13 @@
            serves as this flag from revision 0 of the mirror
            repository:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn propdel --revprop -r0 svn:sync-lock http://svn.example.com/svn-mirror
  property 'svn:sync-lock' deleted from repository revision 0
  $
  </screen>
+        </informalexample>

          <para>That <command>svnsync</command> stores the source
            repository URL in a bookkeeping property on the mirror
@@ -2895,12 +2977,14 @@
            repository, you can change the bookkeeping property which
            houses that information:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn propset --revprop -r0 svn:sync-from-url  
<replaceable>NEW-SOURCE-URL</replaceable> \
        http://svn.example.com/svn-mirror
  property 'svn:sync-from-url' set on repository revision 0
  $
  </screen>
+        </informalexample>

          <para>Another interesting thing about these special
            bookkeeping properties is that <command>svnsync</command>
@@ -2920,7 +3004,8 @@
            subcommand has been added to easily display the special
            bookkeeping properties in the destination repository.</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnsync help info
  info: usage: svnsync info DEST_URL

@@ -2933,6 +3018,7 @@
  Last Merged Revision: 23408
  $
  </screen>
+        </informalexample>
        </sidebar>

        <para>There is, however, one bit of inelegance in the process.
@@ -2949,7 +3035,8 @@
          subcommand, which simply rereplicates all the revision
          properties for a particular revision or range thereof.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help copy-revprops
  copy-revprops: usage: svnsync copy-revprops DEST_URL [REV[:REV2]]

@@ -2960,6 +3047,7 @@
  Copied properties for revision 12.
  $
  </screen>
+      </informalexample>

        <para>That's repository replication in a nutshell.  You'll
          likely want some automation around such a process.  For
@@ -3079,9 +3167,11 @@
          <command>cp</command> or Windows <command>copy</command>
          operations:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin hotcopy /var/svn/repos /var/svn/repos-backup
  </screen>
+      </informalexample>

        <para>The resultant backup is a fully functional Subversion
          repository, able to be dropped in as a replacement for your
@@ -3095,9 +3185,11 @@
          provide the <option>--clean-logs</option> option on the
          command line.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin hotcopy --clean-logs /var/svn/bdb-repos  
/var/svn/bdb-repos-backup
  </screen>
+      </informalexample>

        <para>Additional tooling around this command is available, too.
          The <filename>tools/backup/</filename> directory of the
@@ -3256,7 +3348,8 @@
          If you omit the UUID, a brand-new UUID will be generated for
          your repository.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnlook uuid /var/svn/repos
  cf2b9d22-acb5-11dc-bc8c-05e83ce5dbec
  $ svnadmin setuuid /var/svn/repos   # generate a new UUID
@@ -3268,6 +3361,7 @@
  cf2b9d22-acb5-11dc-bc8c-05e83ce5dbec
  $
  </screen>
+      </informalexample>

        <para>For folks using versions of Subversion earlier than 1.5,
          these tasks are a little more complicated.  You can explicitly
@@ -3275,7 +3369,8 @@
          that carries the new UUID specification through
          <userinput>svnadmin load --force-uuid  
<replaceable>REPOS-PATH</replaceable></userinput>.</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svnadmin load --force-uuid /var/svn/repos <<EOF
  SVN-fs-dump-format-version: 2

@@ -3285,6 +3380,7 @@
  cf2b9d22-acb5-11dc-bc8c-05e83ce5dbec
  $
  </screen>
+      </informalexample>

        <para>Having older versions of Subversion generate a brand-new
          UUID is not quite as simple to do, though.  Your best bet here
=======================================
--- /trunk/src/en/book/ch06-server-configuration.xml	Thu Jun 30 10:16:01  
2011
+++ /trunk/src/en/book/ch06-server-configuration.xml	Fri Jul  1 07:34:08  
2011
@@ -476,10 +476,12 @@
            as a standalone <quote>daemon</quote> process.  Use the
            <option>-d</option> option for this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svnserve -d
  $               # svnserve is now running, listening on port 3690
  </screen>
+        </informalexample>

          <para>When running <command>svnserve</command> in daemon mode,
            you can use the <option>--listen-port</option> and
@@ -498,11 +500,13 @@
          to <command>svnserve</command>, which restricts it to
          exporting only repositories below that path.  For
          example:</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ svnserve -d -r /var/svn
  …
  </screen>
+      </informalexample>

        <para>Using the <option>-r</option> option effectively
          modifies the location that the program treats as the root of
@@ -510,10 +514,12 @@
          have that path portion removed from them, leaving much
          shorter (and much less revealing) URLs:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn checkout svn://host.example.com/project1
  …
  </screen>
+      </informalexample>

        </sect3>

@@ -531,10 +537,12 @@
            <command>inetd</command> to start
            <command>svnserve</command>.</para>

-      <screen>
+        <informalexample>
+        <screen>
  $ svnserve -i
  ( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )
  </screen>
+      </informalexample>

        <para>When invoked with the <option>--inetd</option> option,
          <command>svnserve</command> attempts to speak with a
@@ -546,18 +554,22 @@
          lines to <filename>/etc/services</filename> such as these (if
          they don't already exist):</para>

-      <screen>
+      <informalexample>
+        <screen>
  svn           3690/tcp   # Subversion
  svn           3690/udp   # Subversion
  </screen>
+      </informalexample>

        <para>If your system is using a classic Unix-like
          <command>inetd</command> daemon, you can add this line to
          <filename>/etc/inetd.conf</filename>:</para>

-      <screen>
+      <informalexample>
+        <screen>
  svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i
  </screen>
+      </informalexample>

        <para>Make sure <quote>svnowner</quote> is a user that has
          appropriate permissions to access your repositories.  Now,
@@ -624,13 +636,15 @@
            specify an exact invocation of <command>svnserve</command>
            for Windows to run at startup time:</para>

-        <screen>
+        <informalexample>
+          <screen>
  C:\> sc create svn
          binpath= "C:\svn\bin\svnserve.exe --service -r C:\repos"
          displayname= "Subversion Server"
          depend= Tcpip
          start= auto
  </screen>
+        </informalexample>

          <para>This defines a new Windows service named
            <quote>svn,</quote> which executes a particular
@@ -660,13 +674,15 @@
            <literal>binpath</literal> in double quotes, by escaping
            them:</para>

-        <screen>
+        <informalexample>
+          <screen>
  C:\> sc create svn
          binpath= "\"C:\program files\svn\bin\svnserve.exe\" --service -r  
C:\repos"
          displayname= "Subversion Server"
          depend= Tcpip
          start= auto
  </screen>
+        </informalexample>

          <para>Also note that the word <literal>binpath</literal> is
            misleading—its value is a <emphasis>command
@@ -679,10 +695,12 @@
            administrative control panel), or at the command
            line:</para>

-        <screen>
+        <informalexample>
+          <screen>
  C:\> net stop svn
  C:\> net start svn
  </screen>
+        </informalexample>

          <para>The service can also be uninstalled (i.e., undefined) by
            deleting its definition:  <userinput>sc delete svn</userinput>.
@@ -782,11 +800,13 @@
            choose a name for a file that will contain your usernames
            and passwords and choose an authentication realm:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [general]
  password-db = userfile
  realm = example realm
  </screen>
+        </informalexample>

          <para>The <literal>realm</literal> is a name that you define.
            It tells clients which sort of <quote>authentication
@@ -799,11 +819,13 @@
            file that contains a list of usernames and passwords, using
            the same familiar format.  For example:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [users]
  harry = foopassword
  sally = barpassword
  </screen>
+        </informalexample>

          <para>The value of <literal>password-db</literal> can be an
            absolute or relative path to the users file.  For many
@@ -838,7 +860,8 @@
            repository, and <literal>write</literal> allows complete
            read/write access to the repository.  For example:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [general]
  password-db = userfile
  realm = example realm
@@ -849,13 +872,15 @@
  # authenticated users can both read and write
  auth-access = write
  </screen>
+        </informalexample>

          <para>The example settings are, in fact, the default values of
            the variables, should you forget to define them.  If you
            want to be even more conservative, you can block anonymous
            access completely:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [general]
  password-db = userfile
  realm = example realm
@@ -866,6 +891,7 @@
  # authenticated users can both read and write
  auth-access = write
  </screen>
+        </informalexample>

          <para>The server process understands not only
          these <quote>blanket</quote> access controls to the
@@ -875,7 +901,8 @@
          more detailed rules, and then set
          the <literal>authz-db</literal> variable to point to it:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [general]
  password-db = userfile
  realm = example realm
@@ -883,6 +910,7 @@
  # Specific access rules for specific locations
  authz-db = authzfile
  </screen>
+        </informalexample>

          <para>We discuss the syntax of the <filename>authzfile</filename>  
file
            in detail later in this chapter, in
@@ -960,10 +988,12 @@
            repository's <filename>svnserve.conf</filename> file with an
            initial key-value pair:</para>

-        <programlisting>
+        <informalexample>
+          <programlisting>
            [sasl]
            use-sasl = true
  </programlisting>
+        </informalexample>

          <para>Second, create a main SASL configuration file
            called <filename>svn.conf</filename> in a place where the
@@ -1003,12 +1033,14 @@
            (or <filename>svn.conf</filename>) file contains the
            following:</para>

-        <screen>
+        <informalexample>
+          <screen>
  pwcheck_method: auxprop
  auxprop_plugin: sasldb
  sasldb_path: /etc/my_sasldb
  mech_list: DIGEST-MD5
  </screen>
+        </informalexample>

          <para>you've told SASL to advertise the DIGEST-MD5
            mechanism to clients and to check user passwords against a
@@ -1018,9 +1050,11 @@
            the <command>saslpasswd2</command> program to add or modify
            usernames and passwords in the database:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ saslpasswd2 -c -f /etc/my_sasldb -u realm username
  </screen>
+        </informalexample>

          <para>A few words of warning: first, make sure the
            <quote>realm</quote> argument
@@ -1066,12 +1100,14 @@
            encryption, you can set two values in your repository's
            <filename>svnserve.conf</filename> file:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [sasl]
  use-sasl = true
  min-encryption = 128
  max-encryption = 256
  </screen>
+        </informalexample>

          <para>The <literal>min-encryption</literal> and
            <literal>max-encryption</literal> variables control the
@@ -1107,7 +1143,8 @@
          <command>svnserve</command>.  The client simply uses the
          <literal>svn+ssh://</literal> URL scheme to connect:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ whoami
  harry

@@ -1119,6 +1156,7 @@
  baz
  …
  </screen>
+      </informalexample>

        <para>In this example, the Subversion client is invoking a local
          <command>ssh</command> process, connecting to
@@ -1194,10 +1232,12 @@
          <filename>config</filename> file, simply define it like
          this:</para>

-      <screen>
+      <informalexample>
+        <screen>
  [tunnels]
  rsh = rsh
  </screen>
+      </informalexample>

        <para>And now, you can use this new tunnel definition by using a
          URL scheme that matches the name of your new variable:
@@ -1210,10 +1250,12 @@
          username at host svnserve -t</userinput>).  But you can define new
          tunneling schemes to be much more clever than that:</para>

-      <screen>
+      <informalexample>
+        <screen>
  [tunnels]
  joessh = $JOESSH /opt/alternate/ssh -p 29934
  </screen>
+      </informalexample>

        <para>This example demonstrates a couple of things.  First, it
          shows how to make the Subversion client launch a very specific
@@ -1272,9 +1314,11 @@
            allowed to connect.  The lines are typically of the
            form:</para>

-        <screen>
+        <informalexample>
+          <screen>
    ssh-dsa AAAABtce9euch… user at example.com
  </screen>
+        </informalexample>

          <para>The first field describes the type of key, the second
            field is the base64-encoded key itself, and the third field
@@ -1282,9 +1326,11 @@
            entire line can be preceded by a <literal>command</literal>
            field:</para>

-        <screen>
+        <informalexample>
+          <screen>
    command="program" ssh-dsa AAAABtce9euch… user at example.com
  </screen>
+        </informalexample>

          <para>When the <literal>command</literal> field is set, the
            SSH daemon will run the named program instead of the
@@ -1293,9 +1339,11 @@
            of server-side tricks.  In the following examples, we
            abbreviate the lines of the file as:</para>

-        <screen>
+        <informalexample>
+          <screen>
    command="program" TYPE KEY COMMENT
  </screen>
+        </informalexample>

        </sect3>

@@ -1307,9 +1355,11 @@
            it's easy to name a specific <command>svnserve</command>
            binary to run and to pass it extra arguments:</para>

-        <screen>
+        <informalexample>
+          <screen>
    command="/path/to/svnserve -t -r /virtual/root" TYPE KEY COMMENT
  </screen>
+        </informalexample>

          <para>In this example, <filename>/path/to/svnserve</filename>
            might be a custom wrapper script
@@ -1331,10 +1381,12 @@
            line, and use the <option>--tunnel-user</option>
            option:</para>

-        <screen>
+        <informalexample>
+          <screen>
    command="svnserve -t --tunnel-user=harry" TYPE1 KEY1 harry at example.com
    command="svnserve -t --tunnel-user=sally" TYPE2 KEY2 sally at example.com
  </screen>
+        </informalexample>

          <para>This example allows both Harry and Sally to connect to
            the same account via public key authentication.  Each of
@@ -1357,10 +1409,12 @@
            want to specify a number of restrictive options immediately
            after the <literal>command</literal>:</para>

-        <screen>
+        <informalexample>
+          <screen>
    command="svnserve -t  
--tunnel-user=harry",no-port-forwarding,no-agent-forw
  arding,no-X11-forwarding,no-pty TYPE1 KEY1 harry at example.com
  </screen>
+        </informalexample>

          <para>Note that this all must be on one line—truly on
            one line—since SSH <filename>authorized_keys</filename>
@@ -1448,9 +1502,11 @@
          Clients can access the repository by placing the port number
          into the URL:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ svn checkout http://host.example.com:7382/repos/project
  </screen>
+      </informalexample>
      </sidebar>


@@ -1513,9 +1569,11 @@
          mapping a named module to the location of a shared library on
          disk:</para>

-      <screen>
+      <informalexample>
+        <screen>
  LoadModule dav_svn_module     modules/mod_dav_svn.so
  </screen>
+      </informalexample>

        <para>Apache interprets the <literal>LoadModule</literal>
          configuration item's library path as relative to its own
@@ -1526,9 +1584,11 @@
          specify a different path for this library altogether, perhaps
          even an absolute path such as in the following example:</para>

-      <screen>
+      <informalexample>
+        <screen>
  LoadModule dav_svn_module     C:/Subversion/lib/mod_dav_svn.so
  </screen>
+      </informalexample>

        <para>Note that if <command>mod_dav</command> was compiled as a
          shared object (instead of statically linked directly to the
@@ -1536,10 +1596,12 @@
          <literal>LoadModule</literal> statement for it, too.  Be sure
          that it comes before the <command>mod_dav_svn</command>  
line:</para>

-      <screen>
+      <informalexample>
+        <screen>
  LoadModule dav_module         modules/mod_dav.so
  LoadModule dav_svn_module     modules/mod_dav_svn.so
  </screen>
+      </informalexample>


        <para>At a later location in your configuration file, you now
@@ -1561,12 +1623,14 @@
          <filename>/var/svn/repository</filename> using the
          following <filename>httpd.conf</filename> syntax:</para>

-        <screen>
+      <informalexample>
+          <screen>
  <Location /repos>
    DAV svn
    SVNPath /var/svn/repository
  </Location>
  </screen>
+        </informalexample>

        <para>If you plan to support multiple Subversion repositories
          that will reside in the same parent directory on your local
@@ -1581,7 +1645,8 @@
          could use the <filename>httpd.conf</filename> configuration
          syntax in the following example:</para>

-        <screen>
+      <informalexample>
+          <screen>
  <Location /svn>
    DAV svn

@@ -1589,6 +1654,7 @@
    SVNParentPath /var/svn
  </Location>
  </screen>
+        </informalexample>

        <para>Using the previous syntax, Apache will delegate the
          handling of all URLs whose path portions begin with
@@ -1629,9 +1695,11 @@
            the <literal>ServerName</literal> directive in
            <filename>httpd.conf</filename> to accomplish this.</para>

-        <screen>
+        <informalexample>
+          <screen>
  ServerName svn.example.com
  </screen>
+        </informalexample>

          <para>If you are using Apache's virtual hosting support via
            the <literal>NameVirtualHost</literal> directive, you may
@@ -1678,12 +1746,14 @@
          <filename>httpd.conf</filename> to contain something such as the
          following:</para>

-      <screen>
+      <informalexample>
+        <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
  </Location>
  </screen>
+      </informalexample>

        <para>your repository is <quote>anonymously</quote>
          accessible to the world.  Until you configure some
@@ -1728,7 +1798,8 @@
            Sally and Harry.  First, we need to add them to the password
            file:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ ### First time: use -c to create the file
  $ ### Use -m to use MD5 encryption of the password, which is more secure
  $ htpasswd -cm /etc/svn-auth-file harry
@@ -1741,6 +1812,7 @@
  Adding password for user sally
  $
  </screen>
+        </informalexample>

          <para>Next, you need to add some more
            <filename>httpd.conf</filename> directives inside your
@@ -1761,7 +1833,8 @@
            <literal><Location></literal> block should look
            something like this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
@@ -1770,6 +1843,7 @@
    AuthUserFile /etc/svn-auth-file
  </Location>
  </screen>
+        </informalexample>

          <para>This <literal><Location></literal> block is not
            yet complete, and it will not do anything useful.  It's
@@ -1783,7 +1857,8 @@
            Adding <literal>Require valid-user</literal> tells Apache
            that all requests require an authenticated user:</para>

-        <screen>
+        <informalexample>
+          <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
@@ -1793,6 +1868,7 @@
    Require valid-user
  </Location>
  </screen>
+        </informalexample>

          <para>Be sure to read the next section (<xref
            linkend="svn.serverconfig.httpd.authz"/>) for more detail on the
@@ -1820,7 +1896,8 @@
            example.  Be sure to consult Apache's documentation for full
            details.</para>

-        <screen>
+        <informalexample>
+          <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
@@ -1831,6 +1908,7 @@
    Require valid-user
  </Location>
  </screen>
+        </informalexample>

          <para>If you're looking for maximum security, public key
            cryptography is the best solution.  It may be best to use
@@ -1899,7 +1977,8 @@
            ask you whether you want to trust the server certificate
            anyway:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn list https://host.example.com/repos/project

  Error validating server certificate for 'https://host.example.com:443':
@@ -1913,6 +1992,7 @@

  (R)eject, accept (t)emporarily or accept (p)ermanently?
  </screen>
+        </informalexample>

          <para>This dialogue should look familiar; it's essentially the
            same question you've probably seen coming from your web
@@ -1932,10 +2012,12 @@
            variable to a semicolon-separated list of PEM-encoded CA
            certificates:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [global]
  ssl-authority-files = /path/to/CAcert1.pem;/path/to/CAcert2.pem
  </screen>
+        </informalexample>

          <para>Many OpenSSL installations also have a predefined set
            of <quote>default</quote> CAs that are nearly universally
@@ -1955,7 +2037,8 @@
            a path to the certificate and the password that
            protects it:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ svn list https://host.example.com/repos/project

  Authentication realm: https://host.example.com:443
@@ -1963,6 +2046,7 @@
  Passphrase for '/path/to/my/cert.p12':  ********
  …
  </screen>
+        </informalexample>

          <para>Notice that the client certificate is a
            <quote>p12</quote> file.  To use a client certificate with
@@ -1977,7 +2061,8 @@
            Either or both pieces of information can be described in
            runtime variables:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [groups]
  examplehost = host.example.com

@@ -1985,6 +2070,7 @@
  ssl-client-cert-file = /path/to/my/cert.p12
  ssl-client-cert-password = somepassword
  </screen>
+        </informalexample>

          <para>Once you've set the
            <literal>ssl-client-cert-file</literal> and
@@ -2030,7 +2116,8 @@
            password for their respective username would be allowed to
            do anything with the Subversion repository:</para>

-        <screen>
+        <informalexample>
+          <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
@@ -2044,6 +2131,7 @@
    Require valid-user
  </Location>
  </screen>
+        </informalexample>

          <para>Sometimes you don't need to run such a tight ship.  For
            example, Subversion's own source code repository at
@@ -2073,7 +2161,8 @@
            <literal><LimitExcept></literal> block instead of just
            inside the <literal><Location></literal> block.</para>

-        <screen>
+        <informalexample>
+          <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
@@ -2089,6 +2178,7 @@
    </LimitExcept>
  </Location>
  </screen>
+        </informalexample>

          <para>These are only a few simple examples.  For more in-depth
            information about Apache access control and the
@@ -2121,11 +2211,13 @@
            <literal>LoadModule</literal> directive in
            <filename>httpd.conf</filename>:</para>

-        <screen>
+        <informalexample>
+          <screen>
  LoadModule dav_module         modules/mod_dav.so
  LoadModule dav_svn_module     modules/mod_dav_svn.so
  LoadModule authz_svn_module   modules/mod_authz_svn.so
  </screen>
+        </informalexample>

          <para>To activate this module, you need to configure your
            <literal>Location</literal> block to use the
@@ -2368,33 +2460,41 @@
              browser to that file's repository URL, which might look
              something like the following:</para>

-          <programlisting>
+          <informalexample>
+            <programlisting>
  http://host.example.com/repos/project/trunk/README.txt
  </programlisting>
+          </informalexample>

            <para>If you now wish to see some older version of that
              file, add an operative revision to the URL's query
              string:</para>

-          <programlisting>
+          <informalexample>
+            <programlisting>
  http://host.example.com/repos/project/trunk/README.txt?r=1234
  </programlisting>
+          </informalexample>

            <para>What if the thing you're trying to view no longer exists
              in the youngest revision of the repository?  That's where a
              peg revision is handy:</para>

-          <programlisting>
+          <informalexample>
+            <programlisting>
  http://host.example.com/repos/project/trunk/deleted-thing.txt?p=321
  </programlisting>
+          </informalexample>

            <para>And of course, you can combine peg revision and
              operative revision specifiers to fine-tune the exact item
              you wish to view:</para>

-          <programlisting>
+          <informalexample>
+            <programlisting>
   
http://host.example.com/repos/project/trunk/renamed-thing.txt?p=123&r=21
  </programlisting>
+          </informalexample>

            <para>The previous URL would display revision 21 of the
              object which, in revision 123, was located
@@ -2485,7 +2585,8 @@
              output when displaying a directory listing, and to
              reference the XSLT stylesheet of your choice:</para>

-        <screen>
+          <informalexample>
+          <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
@@ -2493,6 +2594,7 @@
    …
  </Location>
  </screen>
+        </informalexample>

           <para>Using the <literal>SVNIndexXSLT</literal> directive and
             a creative XSLT stylesheet, you can make your directory
@@ -2517,7 +2619,8 @@
              activate the <literal>SVNListParentPath</literal>
              directive:</para>

-          <screen>
+          <informalexample>
+            <screen>
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
@@ -2525,6 +2628,7 @@
    …
  </Location>
  </screen>
+          </informalexample>

            <para>If a user now points her web browser to the
            URL <literal>http://host.example.com/svn/</literal>, she'll
@@ -2588,7 +2692,8 @@
            directive <emphasis>outside</emphasis> your
            Subversion <literal>Location</literal> block:</para>

-        <screen>
+        <informalexample>
+          <screen>
  <Location /svn>
    DAV svn
    …
@@ -2596,6 +2701,7 @@

  CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION
  </screen>
+        </informalexample>

          <para>In this example, we're asking Apache to create a special
            logfile, <filename>svn_logfile</filename>, in the standard
@@ -2613,7 +2719,8 @@
            traditional <filename>access_log</filename> like
            this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [26/Jan/2007:22:25:29 -0600] "PROPFIND /svn/calc/!svn/vcc/default  
HTTP/1.1" 207 398
  [26/Jan/2007:22:25:29 -0600] "PROPFIND /svn/calc/!svn/bln/59 HTTP/1.1" 207  
449
  [26/Jan/2007:22:25:29 -0600] "PROPFIND /svn/calc HTTP/1.1" 207 647
@@ -2622,17 +2729,20 @@
  [26/Jan/2007:22:25:31 -0600] "MKACTIVITY  
/svn/calc/!svn/act/e6035ef7-5df0-4ac0-b811-4be7c823f998 HTTP/1.1" 201 227
  …
  </screen>
+        </informalexample>

          <para>you can peruse a much more
            intelligible <filename>svn_logfile</filename> like
            this:</para>

-        <screen>
+        <informalexample>
+          <screen>
  [26/Jan/2007:22:24:20 -0600] - get-dir /tags r1729 props
  [26/Jan/2007:22:24:27 -0600] - update /trunk r1729 depth=infinity  
send-copyfrom-args
  [26/Jan/2007:22:25:29 -0600] - status /trunk/foo r1729 depth=infinity
  [26/Jan/2007:22:25:31 -0600] sally commit r1730
  </screen>
+        </informalexample>

          <para>In addition to the <literal>SVN-ACTION</literal>
            environment variable, <command>mod_dav_svn</command> also
@@ -2698,7 +2808,8 @@
              add the special <literal>SVNMasterURI</literal> directive
              to the block:</para>

-          <screen>
+          <informalexample>
+            <screen>
  <Location /svn>
    DAV svn
    SVNPath /var/svn/repos
@@ -2706,6 +2817,7 @@
    …
  </Location>
  </screen>
+          </informalexample>

            <para>This new directive tells a slave server to redirect
              all write requests to the master.  (This is done
@@ -2734,7 +2846,8 @@
              write requests at all, but to accept normal commits from
              (and only from) the master's IP address:</para>

-          <screen>
+          <informalexample>
+            <screen>
  <Location /svn-proxy-sync>
    DAV svn
    SVNPath /var/svn/repos
@@ -2745,6 +2858,7 @@
    …
  </Location>
  </screen>
+          </informalexample>

          </sect4>

@@ -2769,7 +2883,8 @@
              receive data from the master repository on the local
              disk:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svnsync init http://slave1.example.com/svn-proxy-sync  
file:///var/svn/repos
  Copied properties for revision 0.
  $ svnsync init http://slave2.example.com/svn-proxy-sync  
file:///var/svn/repos
@@ -2806,12 +2921,14 @@
  Copied properties for revision 2.
  …
  </screen>
+          </informalexample>

            <para>After this is done, we configure the master server's
              <literal>post-commit</literal> hook script to invoke
              <command>svnsync</command> on each slave server:</para>

-          <programlisting>
+          <informalexample>
+            <programlisting>
  #!/bin/sh
  # Post-commit script to replicate newly committed revision to slaves

@@ -2819,6 +2936,7 @@
  svnsync sync http://slave2.example.com/svn-proxy-sync > /dev/null  
2>&1 &
  svnsync sync http://slave3.example.com/svn-proxy-sync > /dev/null  
2>&1 &
  </programlisting>
+          </informalexample>

            <para>The extra bits on the end of each line aren't
              necessary, but they're a sneaky way to allow the sync
@@ -2830,7 +2948,8 @@
              that when a user, say, modifies a log message, the slave
              servers get that change also:</para>

-          <programlisting>
+          <informalexample>
+            <programlisting>
  #!/bin/sh
  # Post-revprop-change script to replicate revprop-changes to slaves

@@ -2839,6 +2958,7 @@
  svnsync copy-revprops http://slave2.example.com/svn-proxy-sync ${REV} >  
/dev/null 2>&1 &
  svnsync copy-revprops http://slave3.example.com/svn-proxy-sync ${REV} >  
/dev/null 2>&1 &
  </programlisting>
+          </informalexample>

            <para>The only thing we've left out here is what to do about
              locks.  Because locks are strictly enforced by the master
@@ -3064,11 +3184,13 @@
        directive, however, it's fine to only define paths in your
        sections—after all, there's only one repository.</para>

-    <screen>
+    <informalexample>
+      <screen>
  [calc:/branches/calc/bug-142]
  harry = rw
  sally = r
  </screen>
+    </informalexample>

      <para>In this first example, the user <literal>harry</literal> has
        full read and write access on the
@@ -3083,12 +3205,14 @@
          to define a more human-friendly name, of sorts, for a
          repository:</para>

-      <screen>
+      <informalexample>
+        <screen>
  <Location /svn/calc>
    SVNPath /var/svn/calc
    SVNReposName "Calculator Application"
  …
  </screen>
+      </informalexample>

        <para>This allows <command>mod_dav_svn</command> to identify the
          repository by something other than merely its server directory
@@ -3104,7 +3228,8 @@
        directory.  That means we can specify a subdirectory with a
        different access policy for Sally:</para>

-    <screen>
+    <informalexample>
+      <screen>
  [calc:/branches/calc/bug-142]
  harry = rw
  sally = r
@@ -3113,6 +3238,7 @@
  [calc:/branches/calc/bug-142/testing]
  sally = rw
  </screen>
+    </informalexample>

      <para>Now Sally can write to the <filename>testing</filename>
        subdirectory of the branch, but can still only read other parts.
@@ -3123,7 +3249,8 @@
        via inheritance rules, by setting the username variable to
        nothing:</para>

-    <screen>
+    <informalexample>
+      <screen>
  [calc:/branches/calc/bug-142]
  harry = rw
  sally = r
@@ -3131,6 +3258,7 @@
  [calc:/branches/calc/bug-142/secret]
  harry =
  </screen>
+    </informalexample>

      <para>In this example, Harry has read/write access to the
        entire <filename>bug-142</filename> tree, but has absolutely no
@@ -3153,10 +3281,12 @@
        asterisk variable (<literal>*</literal>), which means <quote>all
        users</quote>:</para>

-    <screen>
+    <informalexample>
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/src/en/book/ch07-customizing-svn.xml	Fri Aug 13 12:38:23 2010
+++ /trunk/src/en/book/ch07-customizing-svn.xml	Fri Jul  1 07:34:08 2011
@@ -263,7 +263,8 @@
            characters—that are compared against the hostnames of
            the machine to which Subversion requests are sent.</para>

-        <programlisting>
+        <informalexample>
+          <programlisting>
  [groups]
  beanie-babies = *.red-bean.com
  collabnet = svn.collab.net
@@ -274,6 +275,7 @@
  [collabnet]
  …
  </programlisting>
+        </informalexample>

          <para>When Subversion is used over a network, it attempts to
            match the name of the server it is trying to reach with a
@@ -881,7 +883,8 @@
          locale-related runtime configuration options by running the
          <command>locale</command> command:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ locale
  LANG=
  LC_COLLATE="C"
@@ -893,6 +896,7 @@
  LC_ALL="C"
  $
  </screen>
+      </informalexample>

        <para>The output is a list of locale-related environment
          variables and their current values.  In this example, the
@@ -932,13 +936,15 @@
          attempts to print all messages in the specified language.  For
          example:</para>

-      <screen>
+      <informalexample>
+        <screen>
  $ export LC_MESSAGES=de_DE
  $ svn help cat
  cat: Gibt den Inhalt der angegebenen Dateien oder URLs aus.
  Aufruf: cat ZIEL[@REV]...
  …
  </screen>
+      </informalexample>

        <para>This behavior works identically on both Unix and Windows
          systems.  Note, though, that while your operating system might
@@ -997,12 +1003,14 @@
          <para>While using Subversion, you might get hit with an error
            related to character set conversions:</para>

-        <screen>
+        <informalexample>
+          <screen>
  svn: Can't convert string from native encoding to 'UTF-8':
  …
  svn: Can't convert string from 'UTF-8' to native encoding:
  …
  </screen>
+        </informalexample>

          <para>Errors such as this typically occur when the Subversion
            client has received a UTF-8 string from the repository, but
=======================================
--- /trunk/src/en/book/ch08-embedding-svn.xml	Mon Jun 27 07:19:41 2011
+++ /trunk/src/en/book/ch08-embedding-svn.xml	Fri Jul  1 07:34:08 2011
@@ -431,8 +431,9 @@
          modules are available to the Subversion command-line client,
          and what protocols they claim to support, by running
          <userinput>svn --version</userinput>:</para>
-
-      <screen>
+
+      <informalexample>
+        <screen>
  $ svn --version
  svn, version 1.5.0 (r31699)
     compiled Jun 18 2008, 09:57:36
@@ -456,6 +457,7 @@

  $
  </screen>
+      </informalexample>

        <para>The public API exported by the RA layer contains
          functionality necessary for sending and receiving versioned
=======================================
--- /trunk/src/en/book/ch09-reference.xml	Thu Jun 30 09:57:00 2011
+++ /trunk/src/en/book/ch09-reference.xml	Fri Jul  1 07:34:08 2011
@@ -27,11 +27,13 @@
        For example, all of the following are valid ways to
        use <command>svn status</command>:</para>

-    <screen>
+    <informalexample>
+      <screen>
  $ svn -v status
  $ svn status -v
  $ svn status -v myfile
  </screen>
+    </informalexample>

      <para>You can find many more examples of how to use most client
        commands in <xref linkend="svn.tour"/> and commands for managing
@@ -379,10 +381,12 @@
              <para>Indicates that you will specify either a log message
                or a lock comment on the command line, following this
                option.  For example:</para>
-
-            <screen>
+
+            <informalexample>
+              <screen>
  $ svn commit -m "They don't make Sunday."
  </screen>
+            </informalexample>
            </listitem>
          </varlistentry>

@@ -548,13 +552,15 @@
                provide two revisions separated by a colon.  For
                example:</para>

-            <screen>
+            <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>
@@ -758,7 +764,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --auto-props
  --depth ARG
  --force
@@ -768,6 +775,7 @@
  --quiet (-q)
  --targets FILENAME
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -775,15 +783,18 @@

            <para>To add a file to your working copy:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn add foo.c
  A         foo.c
  </screen>
+          </informalexample>

            <para>When adding a directory, the default behavior of
              <command>svn add</command> is to recurse:</para>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn add testdir
  A         testdir
  A         testdir/a
@@ -791,14 +802,17 @@
  A         testdir/c
  A         testdir/d
  </screen>
+          </informalexample>

            <para>You can add a directory without adding its
              contents:</para>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn add --depth=empty otherdir
  A         otherdir
  </screen>
+          </informalexample>

            <para>Normally, the command <userinput>svn add *</userinput>
              will skip over any directories that are already under
@@ -809,13 +823,15 @@
              add</command> recurse into versioned directories:
            </para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn add * --force
  A         foo.c
  A         somedir/bar.c
  A  (bin)  otherdir/docs/baz.doc
  …
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -864,7 +880,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --extensions (-x) ARG
  --force
  --incremental
@@ -873,6 +890,7 @@
  --verbose (-v)
  --xml
  </screen>
+          </informalexample>

  <!--

@@ -909,11 +927,14 @@
            <para>If you want to see blame-annotated source for
              <filename>readme.txt</filename> in your test
              repository:</para>
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn blame http://svn.red-bean.com/repos/test/readme.txt
       3      sally This is a README file.
       5      harry You should read this.
  </screen>
+          </informalexample>

            <para>Even if <command>svn blame</command> says that Harry
              last modified <filename>readme.txt</filename> in revision
@@ -927,7 +948,8 @@
              get XML output describing the blame annotations, but not
              the contents of the lines themselves:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn blame --xml http://svn.red-bean.com/repos/test/readme.txt
  <?xml version="1.0"?>
  <blame>
@@ -952,6 +974,7 @@
  </target>
  </blame>
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -999,9 +1022,11 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --revision (-r) REV
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -1009,11 +1034,14 @@

            <para>If you want to view <filename>readme.txt</filename> in
              your repository without checking it out:</para>
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn cat http://svn.red-bean.com/repos/test/readme.txt
  This is a README file.
  You should read this.
  </screen>
+          </informalexample>

            <tip>
              <para>If your working copy is out of date (or you have
@@ -1024,7 +1052,8 @@
                of the specified path:</para>
            </tip>

-          <screen>
+          <informalexample>
+            <screen>
  $ cat foo.c
  This file is in my local working copy
  and has changes that I've made.
@@ -1032,6 +1061,7 @@
  $ svn cat -r HEAD foo.c
  Latest revision fresh from the repository!
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -1082,7 +1112,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --changelist ARG
  --depth ARG
  --quiet (-q)
@@ -1090,6 +1121,7 @@
  --remove
  --targets FILENAME
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -1098,7 +1130,8 @@
            <para>Edit three files, add them to a changelist, then
              commit only files in that changelist:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn changelist issue1729 foo.c bar.c baz.c
  Path 'foo.c' is now a member of changelist 'issue1729'.
  Path 'bar.c' is now a member of changelist 'issue1729'.
@@ -1124,6 +1157,7 @@
  A       someotherfile.c
  A       test/sometest.c
  </screen>
+          </informalexample>

            <para>Note that only the files in changelist
              <replaceable>issue1729</replaceable> were
@@ -1178,14 +1212,16 @@

          <refsect1>
            <title>Options</title>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  --depth ARG
  --force
  --ignore-externals
  --quiet (-q)
  --revision (-r) REV
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -1194,7 +1230,8 @@
            <para>Check out a working copy into a directory called
              <filename>mine</filename>:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn checkout file:///var/svn/repos/test mine
  A  mine/a
  A  mine/b
@@ -1204,11 +1241,13 @@
  $ ls
  mine
  </screen>
+          </informalexample>

            <para>Check out two different directories into two separate
              working copies:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn checkout file:///var/svn/repos/test  file:///var/svn/repos/quiz
  A  test/a
  A  test/b
@@ -1221,12 +1260,14 @@
  $ ls
  quiz  test
  </screen>
+          </informalexample>

            <para>Check out two different directories into two separate
              working copies, but place both into a directory called
              <filename>working-copies</filename>:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn checkout file:///var/svn/repos/test  file:///var/svn/repos/quiz  
working-copies
  A  working-copies/test/a
  A  working-copies/test/b
@@ -1239,6 +1280,7 @@
  $ ls
  working-copies
  </screen>
+          </informalexample>

            <para>If you interrupt a checkout (or something else
              interrupts your checkout, such as loss of connectivity,
@@ -1246,7 +1288,8 @@
              checkout command again or by updating the incomplete
              working copy:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn checkout file:///var/svn/repos/test mine
  A  mine/a
  A  mine/b
@@ -1264,17 +1307,20 @@
  A  mine/d
  Updated to revision 20.
  </screen>
+          </informalexample>

            <para>If you wish to check out some revision other than the
              most recent one, you can do so by providing the
              <option>--revision</option> (<option>-r</option>) option
              to the <command>svn checkout</command> command:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn checkout -r 2 file:///var/svn/repos/test mine
  A  mine/a
  Checked out revision 2.
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -1333,9 +1379,11 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --diff3-cmd CMD
  </screen>
+          </informalexample>

          </refsect1>

@@ -1347,11 +1395,13 @@
              you pass no <replaceable>PATH</replaceable>, then
              <quote><filename>.</filename></quote> is used:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn cleanup

  $ svn cleanup /var/svn/working-copy
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -1424,7 +1474,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --changelist ARG
  --depth ARG
  --editor-cmd CMD
@@ -1438,6 +1489,7 @@
  --targets FILENAME
  --with-revprop ARG
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -1447,32 +1499,37 @@
              commit message on the command line and an implicit
              target of your current directory
              (<quote><filename>.</filename></quote>):</para>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn commit -m "added howto section."
  Sending        a
  Transmitting file data .
  Committed revision 3.
  </screen>
+          </informalexample>

            <para>Commit a modification to the file
              <filename>foo.c</filename> (explicitly specified on the
              command line) with the commit message in a file named
              <filename>msg</filename>:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn commit -F msg foo.c
  Sending        foo.c
  Transmitting file data .
  Committed revision 5.
  </screen>
+          </informalexample>

            <para>If you want to use a file that's under version control
              for your commit message with <option>--file</option>
              (<option>-F</option>), you need to pass the
              <option>--force-log</option> option:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn commit -F file_under_vc.txt foo.c
  svn: The log message file is under version control
  svn: Log message file is a versioned file; use '--force-log' to override
@@ -1482,15 +1539,18 @@
  Transmitting file data .
  Committed revision 6.
  </screen>
+          </informalexample>

            <para>To commit a file scheduled for deletion:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn commit -m "removed file 'c'."
  Deleting       c

  Committed revision 7.
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -1593,7 +1653,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --editor-cmd CMD
  --encoding ENC
  --file (-F) FILENAME
@@ -1605,6 +1666,7 @@
  --revision (-r) REV
  --with-revprop ARG
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -1614,49 +1676,59 @@
              schedules the copy—nothing goes into the repository
              until you commit):</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn copy foo.txt bar.txt
  A         bar.txt
  $ svn status
  A  +    bar.txt
  </screen>
+          </informalexample>

            <para>Copy several files in a working copy into a
              subdirectory:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn copy bat.c baz.c qux.c src
  A         src/bat.c
  A         src/baz.c
  A         src/qux.c
  </screen>
+          </informalexample>

            <para>Copy revision 8 of <filename>bat.c</filename> into your
              working copy under a different name:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn copy -r 8 bat.c ya-old-bat.c
  A         ya-old-bat.c
  </screen>
+          </informalexample>

            <para>Copy an item in your working copy to a URL in the
              repository (this is an immediate commit, so you must supply a
              commit message):</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn copy near.txt file:///var/svn/repos/test/far-away.txt -m "Remote  
copy."

  Committed revision 8.
  </screen>
+          </informalexample>

            <para>Copy an item from the repository to your working
              copy (this just schedules the copy—nothing goes into the
              repository until you commit):</para>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn copy file:///var/svn/repos/test/far-away -r 6 near-here
  A         near-here
  </screen>
+          </informalexample>

            <tip>
              <para>This is the recommended way to resurrect a dead
@@ -1665,19 +1737,23 @@

            <para>And finally, copy between two URLs:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn copy file:///var/svn/repos/test/far-away \
             file:///var/svn/repos/test/over-there -m "remote copy."

  Committed revision 9.
  </screen>
-
-          <screen>
+          </informalexample>
+
+          <informalexample>
+            <screen>
  $ svn copy file:///var/svn/repos/test/trunk \
             file:///var/svn/repos/test/tags/0.6.32-prerelease -m "tag tree"

  Committed revision 12.
  </screen>
+          </informalexample>

            <tip>
              <para>This is the easiest way to <quote>tag</quote> a
@@ -1689,13 +1765,15 @@
            <para>And don't worry if you forgot to tag—you can
              always specify an older revision and tag anytime:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn copy -r 11 file:///var/svn/repos/test/trunk \
             file:///var/svn/repos/test/tags/0.6.32-prerelease \
             -m "Forgot to tag at rev 11"

  Committed revision 13.
  </screen>
+          </informalexample>
          </refsect1>
        </refentry>

@@ -1753,7 +1831,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --editor-cmd CMD
  --encoding ENC
  --file (-F) FILENAME
@@ -1765,6 +1844,7 @@
  --targets FILENAME
  --with-revprop ARG
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -1776,7 +1856,8 @@
              repository.  When you commit, the file is deleted in the
              repository.</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn delete myfile
  D         myfile

@@ -1785,21 +1866,25 @@
  Transmitting file data .
  Committed revision 14.
  </screen>
+          </informalexample>

            <para>Deleting a URL, however, is immediate, so you have
              to supply a log message:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn delete -m "Deleting file 'yourfile'" \
               file:///var/svn/repos/test/yourfile

  Committed revision 15.
  </screen>
+          </informalexample>

            <para>Here's an example of how to force deletion of a file
              that has local mods:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn delete over-there
  svn: Attempting restricted operation for modified resource
  svn: Use --force to override this restriction
@@ -1808,6 +1893,7 @@
  $ svn delete --force over-there
  D         over-there
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -1983,7 +2069,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --change (-c) ARG
  --changelist ARG
  --depth ARG
@@ -1998,6 +2085,7 @@
  --summarize
  --xml
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -2007,41 +2095,48 @@
              (one of the most popular uses of <command>svn
              diff</command>):</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff COMMITTERS
  Index: COMMITTERS
  ===================================================================
  --- COMMITTERS	(revision 4404)
  +++ COMMITTERS	(working copy)
  </screen>
+          </informalexample>

            <para>See what changed in the file
              <filename>COMMITTERS</filename> revision 9115:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff -c 9115 COMMITTERS
  Index: COMMITTERS
  ===================================================================
  --- COMMITTERS	(revision 3900)
  +++ COMMITTERS	(working copy)
  </screen>
+          </informalexample>


            <para>See how your working copy's modifications compare
              against an older revision:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff -r 3900 COMMITTERS
  Index: COMMITTERS
  ===================================================================
  --- COMMITTERS	(revision 3900)
  +++ COMMITTERS	(working copy)
  </screen>
+          </informalexample>

            <para>Compare revision 3000 to revision 3500 using  
<quote>@</quote>
              syntax:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 \
             http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500
  Index: COMMITTERS
@@ -2050,54 +2145,64 @@
  +++ COMMITTERS	(revision 3500)
  …
  </screen>
+          </informalexample>

            <para>Compare revision 3000 to revision 3500 using range
              notation (pass only the one URL in this
              case):</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk/COMMITTERS
  Index: COMMITTERS
  ===================================================================
  --- COMMITTERS	(revision 3000)
  +++ COMMITTERS	(revision 3500)
  </screen>
+          </informalexample>


            <para>Compare revision 3000 to revision 3500 of all the files in
              <filename>trunk</filename> using range notation:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk
            </screen>
+          </informalexample>


            <para>Compare revision 3000 to revision 3500 of only three
              files in <filename>trunk</filename> using range
              notation:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff -r 3000:3500 --old http://svn.collab.net/repos/svn/trunk \
             COMMITTERS README HACKING
            </screen>
+          </informalexample>

            <para>If you have a working copy, you can obtain the
              differences without typing in the long URLs:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn diff -r 3000:3500 COMMITTERS
  Index: COMMITTERS
  ===================================================================
  --- COMMITTERS	(revision 3000)
  +++ COMMITTERS	(revision 3500)
  </screen>
+          </informalexample>

            <para>Use <option>--diff-cmd</option>
              <replaceable>CMD</replaceable> <option>--extensions</option>
              (<option>-x</option>) to pass arguments directly to the
              external diff program:</para>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn diff --diff-cmd /usr/bin/diff -x "-i -b" COMMITTERS
  Index: COMMITTERS
  ===================================================================
@@ -2105,13 +2210,15 @@
  > This is a test
  >
  </screen>
+          </informalexample>

            <para>Lastly, you can use the <option>--xml</option> option
              along with the <option>--summarize</option> option to view
              XML describing the changes that occurred between
              revisions, but not the contents of the diff itself:</para>
-
-          <screen>
+
+          <informalexample>
+            <screen>
  $ svn diff --summarize --xml http://svn.red-bean.com/repos/test@r2 \
             http://svn.red-bean.com/repos/test
  <?xml version="1.0"?>
@@ -2132,6 +2239,7 @@
  </paths>
  </diff>
  </screen>
+          </informalexample>

          </refsect1>
        </refentry>
@@ -2191,7 +2299,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --depth ARG
  --force
  --ignore-externals
@@ -2199,6 +2308,7 @@
  --quiet (-q)
  --revision (-r) REV
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -2207,21 +2317,25 @@
            <para>Export from your working copy (doesn't print every
              file and directory):</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn export a-wc my-export
  Export complete.
  </screen>
+          </informalexample>

            <para>Export directly from the repository (prints every
              file and directory):</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn export file:///var/svn/repos my-export
  A  my-export/test
  A  my-export/quiz
  …
  Exported revision 15.
  </screen>
+          </informalexample>

            <para>When rolling operating-system-specific release
              packages, it can be useful to export a tree that uses a
@@ -2233,13 +2347,15 @@
              (possibly for a Windows <filename>.zip</filename> file
              distribution):</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn export file:///var/svn/repos my-export --native-eol CRLF
  A  my-export/test
  A  my-export/quiz
  …
  Exported revision 15.
  </screen>
+          </informalexample>

            <para>You can specify <literal>LR</literal>,
              <literal>CR</literal>, or <literal>CRLF</literal> as a
@@ -2347,7 +2463,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --auto-props
  --depth ARG
  --editor-cmd CMD
@@ -2361,6 +2478,7 @@
  --quiet (-q)
  --with-revprop ARG
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -2374,7 +2492,8 @@
              import</command> will recursively create directories for
              you.</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn import -m "New import" myproj \
               http://svn.red-bean.com/repos/trunk/misc
  Adding         myproj/sample.txt
@@ -2382,13 +2501,15 @@
  Transmitting file data .........
  Committed revision 16.
  </screen>
+          </informalexample>

            <para>Be aware that this will <emphasis>not</emphasis>
              create a directory named <filename>myproj</filename> in
              the repository.  If that's what you want, simply add
              <filename>myproj</filename> to the end of the URL:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn import -m "New import" myproj \
              http://svn.red-bean.com/repos/trunk/misc/myproj
  Adding         myproj/sample.txt
@@ -2396,6 +2517,7 @@
  Transmitting file data .........
  Committed revision 16.
  </screen>
+          </informalexample>

            <para>After importing data, note that the original tree is
              <emphasis>not</emphasis> under version control.  To start
@@ -2481,7 +2603,8 @@
          <refsect1>
            <title>Options</title>

-          <screen>
+          <informalexample>
+            <screen>
  --changelist ARG
  --depth ARG
  --incremental
@@ -2490,6 +2613,7 @@
  --targets FILENAME
  --xml
  </screen>
+          </informalexample>
          </refsect1>

          <refsect1>
@@ -2499,7 +2623,8 @@
              useful information that it has for items in your working
              copy.  It will show information for files:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn info foo.c
  Path: foo.c
  Name: foo.c
@@ -2516,10 +2641,12 @@
  Properties Last Updated: 2003-01-13 21:50:19 -0600 (Mon, 13 Jan 2003)
  Checksum: d6aeb60b0662ccceb6bce4bac344cb66
  </screen>
+          </informalexample>

            <para>It will also show information for directories:</para>

-          <screen>
+          <informalexample>
+            <screen>
  $ svn info vendors
  Path: vendors
  URL: http://svn.red-bean.com/repos/test/vendors
@@ -2533,13 +2660,15 @@
  Last Changed Date: 2003-01-16 23:21:19 -0600 (Thu, 16 Jan 2003)
  Properties Last Updated: 2003-01-16 23:39:02 -0600 (Thu, 16 Jan 2003)
  </screen>
+          </informalexample>

             <para><command>svn info</command> also acts on URLs (also
               note that the file <filename>readme.doc</filename> in
               this example is locked, so lock information is also
               provided):</para>

-           <screen>
+           <informalexample>
+             <screen>
***The diff for this file has been truncated for email.***




More information about the svnbook-dev mailing list