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