You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2011/07/07 20:43:48 UTC

svn commit: r1143964 - in /subversion/branches/revprop-packing: BRANCH-README subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/structure

Author: danielsh
Date: Thu Jul  7 18:43:48 2011
New Revision: 1143964

URL: http://svn.apache.org/viewvc?rev=1143964&view=rev
Log:
On the revprop-sharding branch:

The king is dead... but we'll retain a gap in the format numbers in his honour:

Retain FSFS f5 as the "revprops in SQLite" format, and allocate f6 for the new
"revprops in plain files" format.

* subversion/libsvn_fs_fs/structure:
    (): Update as above, and point to documentation of f5.
    (Filesystem formats): While here, future-proof this section.

* BRANCH-README: Track number bump.

* subversion/libsvn_fs_fs/fs.h
  (SVN_FS_FS__FORMAT_NUMBER, SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT): Bump.
  (SVN_FS_FS__MIN_PACKED_REVPROP_SQLITE_DEV_FORMAT):
    New macro; currently unused.

Modified:
    subversion/branches/revprop-packing/BRANCH-README
    subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs.h
    subversion/branches/revprop-packing/subversion/libsvn_fs_fs/structure

Modified: subversion/branches/revprop-packing/BRANCH-README
URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/BRANCH-README?rev=1143964&r1=1143963&r2=1143964&view=diff
==============================================================================
--- subversion/branches/revprop-packing/BRANCH-README (original)
+++ subversion/branches/revprop-packing/BRANCH-README Thu Jul  7 18:43:48 2011
@@ -1,4 +1,4 @@
-This branch exists to reimplement the revprop-packing in FSFS f5 without
+This branch exists to reimplement the revprop-packing in FSFS f6 without
 SQLite.  Several strategies have been discussed on the mailing list here:
 http://svn.haxx.se/dev/archive-2011-07/0134.shtml
 

Modified: subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs.h?rev=1143964&r1=1143963&r2=1143964&view=diff
==============================================================================
--- subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs.h (original)
+++ subversion/branches/revprop-packing/subversion/libsvn_fs_fs/fs.h Thu Jul  7 18:43:48 2011
@@ -90,7 +90,7 @@ extern "C" {
 /* The format number of this filesystem.
    This is independent of the repository format number, and
    independent of any other FS back ends. */
-#define SVN_FS_FS__FORMAT_NUMBER   5
+#define SVN_FS_FS__FORMAT_NUMBER   6
 
 /* The minimum format number that supports svndiff version 1.  */
 #define SVN_FS_FS__MIN_SVNDIFF1_FORMAT 2
@@ -122,8 +122,11 @@ extern "C" {
 /* The minimum format number that stores node kinds in changed-paths lists. */
 #define SVN_FS_FS__MIN_KIND_IN_CHANGED_FORMAT 4
 
+/* The 1.7-dev format that packed revprops into SQLite revprops.db . */
+#define SVN_FS_FS__MIN_PACKED_REVPROP_SQLITE_DEV_FORMAT 5
+
 /* The minimum format number that supports packed revprop shards. */
-#define SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT 5
+#define SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT 6
 
 /* The minimum format number that supports a configuration file (fsfs.conf) */
 #define SVN_FS_FS__MIN_CONFIG_FILE 4

Modified: subversion/branches/revprop-packing/subversion/libsvn_fs_fs/structure
URL: http://svn.apache.org/viewvc/subversion/branches/revprop-packing/subversion/libsvn_fs_fs/structure?rev=1143964&r1=1143963&r2=1143964&view=diff
==============================================================================
--- subversion/branches/revprop-packing/subversion/libsvn_fs_fs/structure (original)
+++ subversion/branches/revprop-packing/subversion/libsvn_fs_fs/structure Thu Jul  7 18:43:48 2011
@@ -135,49 +135,51 @@ The formats are:
   Format 2, understood by Subversion 1.4+
   Format 3, understood by Subversion 1.5+
   Format 4, understood by Subversion 1.6+
-  Format 5, understood by Subversion 1.7+
+  Format 6, understood by Subversion 1.7-dev, never released
+  Format 6, understood by Subversion 1.7+
 
 The differences between the formats are:
 
 Delta representation in revision files
   Format 1: svndiff0 only
-  Formats 2-5: svndiff0 or svndiff1
+  Formats 2+: svndiff0 or svndiff1
 
 Format options
   Formats 1-2: none permitted
-  Format 3-5: "layout" option
+  Format 3+:   "layout" option
 
 Transaction name reuse
   Formats 1-2: transaction names may be reused
-  Format 3-5: transaction names generated using txn-current file
+  Format 3+:   transaction names generated using txn-current file
 
 Location of proto-rev file and its lock
   Formats 1-2: transactions/<txnid>/rev and
     transactions/<txnid>/rev-lock.
-  Format 3-5: txn-protorevs/<txnid>.rev and
+  Format 3+:   txn-protorevs/<txnid>.rev and
     txn-protorevs/<txnid>.rev-lock.
 
 Node-ID and copy-ID generation
   Formats 1-2: Node-IDs and copy-IDs are guaranteed to form a
     monotonically increasing base36 sequence using the "current"
     file.
-  Format 3-5: Node-IDs and copy-IDs use the new revision number to
+  Format 3+:   Node-IDs and copy-IDs use the new revision number to
     ensure uniqueness and the "current" file just contains the
     youngest revision.
 
 Mergeinfo metadata:
   Format 1-2: minfo-here and minfo-count node-revision fields are not
     stored.  svn_fs_get_mergeinfo returns an error.
-  Format 3-5: minfo-here and minfo-count node-revision fields are
+  Format 3+:  minfo-here and minfo-count node-revision fields are
     maintained.  svn_fs_get_mergeinfo works.
 
 Revision changed paths list:
   Format 1-3: Does not contain the node's kind.
-  Format 4-5: Contains the node's kind.
+  Format 4+:  Contains the node's kind.
 
 Revprop packing:
   Format 1-4: revprops are not packed
-  Format 5: revprops are packed
+  Format 5:   revprops are packed in SQLite revprops.db;
+  Format 6+:  revprops are packed in plain files
 
 # Incomplete list.  See SVN_FS_FS__MIN_*_FORMAT
 
@@ -229,7 +231,13 @@ The manifest file consists of a list of 
 pack file.  The offsets are stored as ASCII decimal, and separated by a newline
 character.
 
-Packing revision properties
+Packing revision properties (format 5: SQLite)
+---------------------------
+
+See r1143829 of this file:
+http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/structure?view=markup&pathrev=1143829
+
+Packing revision properties (format 6: plain files)
 ---------------------------
 
 Revprop shards may be packed too.  The packing process moves all revprops from