Author: julianfoad
Date: Thu Jan 15 11:22:44 2015
New Revision: 1652064
URL: http://svn.apache.org/r1652064
Log:
Correct the dump-load format documentation: the revprops section is
optional.
* notes/dump-load-format.txt
Correct the assertion that a Revision record must have a properties
section. While svnadmin always writes a properties section even if there
are no revprops, svndumpfilter omits the properties section in that case.
Modified:
subversion/trunk/notes/dump-load-format.txt
Modified: subversion/trunk/notes/dump-load-format.txt
URL:
http://svn.apache.org/viewvc/subversion/trunk/notes/dump-load-format.txt?rev=1652064&r1=1652063&r2=1652064&view=diff
==============================================================================
--- subversion/trunk/notes/dump-load-format.txt (original)
+++ subversion/trunk/notes/dump-load-format.txt Thu Jan 15 11:22:44 2015
@@ -74,12 +74,12 @@ An example UUID is "7bf7a5ef-cabf-0310-b
==== Revision records ====
-A Revision record has three headers and is always followed by a
+A Revision record has three headers and is usually followed by a
property section. Expect the following form and sequence:
-------------------------------------------------------------------
Revision-number: <N>
-Prop-content-length: <P>
+[Prop-content-length: <P>]
Content-length: <L>
!
-------------------------------------------------------------------
@@ -158,7 +158,7 @@ RFC822-style headers. A body may follow.
=== Property sections ===
-A Revision record *must* have a property section, and a Node record *may*
+A Revision record *may* have a property section, and a Node record *may*
have a property section. Every record with a property section has
a Prop-content-length header.
@@ -345,9 +345,13 @@ to the same directory.
=== Properties and persistence ===
-The properties section of a Revision record consists of some subset
-of the three reserved per-commit properties: svn:author, svn:date,
-and svn:log. These properties do not persist to later revisions.
+The properties section of a Revision record consists of some (possibly
+empty) subset of the three reserved revision properties: svn:author,
+svn:date, and svn:log, along with any other revision properties.
+
+The revision properties do not persist to later revisions. Each revision
+has exactly the revision properties specified in its revision record, or
+no revision properties if there is no property section.
The key thing to know about Node properties is that they are
persistent, once set, until modified by a future property
@@ -520,6 +524,15 @@ properties block.
This note is included for historical completeness only, at is it highly
unlikely that any Subversion instances that old remain in production.
+== Implementation choices for optional behaviour ==
+
+This section lists some of the ways existing implementations interpret the
+optional aspects of the specification.
+
+When a Revision record has no revision properties, svnadmin and svnrdump
+write an empty properties section whereas svndumpfilter omits the properties
+section. (At least in Subversion 1.0 through 1.8.)
+
== Ancient history ==
Old discussion: