[svnbook commit] r1320 - in trunk/src: en/book tools

cmpilato svnbook-dev at red-bean.com
Sun May 22 16:18:53 CDT 2005

Author: cmpilato
Date: Sun May 22 16:18:52 2005
New Revision: 1320

* src/en/book/ch07.xml
  (Peg and Operative Revisions): Grant a new title, and plop the history
    huntin' algorithm into place.

Modified: trunk/src/en/book/ch07.xml
--- trunk/src/en/book/ch07.xml	(original)
+++ trunk/src/en/book/ch07.xml	Sun May 22 16:18:52 2005
@@ -1738,10 +1738,10 @@
   <!-- ******************************************************************* -->
-  <!-- *** SECTION 2 1/2:  ADDRESSING HISTORICAL AMBIGUITY             *** -->
+  <!-- *** SECTION 2 1/2:  PEG AND OPERATIVE REVISIONS                 *** -->
   <!-- ******************************************************************* -->
   <sect1 id="svn-ch-7-sect-2b">
-    <title>Addressing Historical Ambiguity</title>
+    <title>Peg and Operative Revisions</title>
     <para>The ability to copy, move, and rename files and directories;
       to be able to create an object, then delete it and then add a
@@ -1859,9 +1859,25 @@
       sorts, and we know <emphasis>exactly</emphasis> where to
-    <!-- Drop algorithm here -->
+    <para>Subversion performs a fairly straightforward algorithm when
+      using peg and operative revisions to find real stuff to work on.
+      First, the path associated with the peg revision is located in
+      that revision in the repository.  From there, Subversion begins
+      stepping backwards through historical predecessors of the object
+      located at that path and peg revision.  Each of these
+      predecessors represents an earlier version of the object, and
+      each stores a record of which revision it was created in, and at
+      what path.  So, while traversing the set of predecessors,
+      Subversion notices whenever one of them is the youngest version
+      of the object to exist as of one of the operative revisions, and
+      if so, maps that operative revision to the created path/created
+      revision pair of the predecessor.  The algorithm terminates
+      either when all the operative revisions have been mapped to real
+      object locations, or once there are no more predecessors to
+      traverse, in which case any unmapped operative revisions are
+      marked as invalid for the object being operated on.</para>
-    <para>Say long ago we created our repository, and in revision 1
+    <para>Say that long ago we created our repository, and in revision 1
       added our first <filename>concept</filename> directory, plus an
       <filename>IDEA</filename> file in that directory talking about
       the concept.  After several revisions in which real code was

Modified: trunk/src/tools/book-dist.py
--- trunk/src/tools/book-dist.py	(original)
+++ trunk/src/tools/book-dist.py	Sun May 22 16:18:52 2005
@@ -62,7 +62,6 @@
     if not os.path.exists('book') or not os.path.exists('Makefile'):
         die('Please run this from the Subversion book source directory.\n')
     os.putenv('FOP_OPTS', '-Xms100m -Xmx200m')
     def _cleanup_tmp_dirs():

More information about the svnbook-dev mailing list