You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2018/04/19 13:32:09 UTC
svn commit: r1829537 - in /subversion/trunk/notes/shelving: ./
shelf-structure.txt
Author: julianfoad
Date: Thu Apr 19 13:32:08 2018
New Revision: 1829537
URL: http://svn.apache.org/viewvc?rev=1829537&view=rev
Log:
Shelving: document the storage structure.
Added:
subversion/trunk/notes/shelving/
subversion/trunk/notes/shelving/shelf-structure.txt (with props)
Added: subversion/trunk/notes/shelving/shelf-structure.txt
URL: http://svn.apache.org/viewvc/subversion/trunk/notes/shelving/shelf-structure.txt?rev=1829537&view=auto
==============================================================================
--- subversion/trunk/notes/shelving/shelf-structure.txt (added)
+++ subversion/trunk/notes/shelving/shelf-structure.txt Thu Apr 19 13:32:08 2018
@@ -0,0 +1,50 @@
+== Storage Structure for Shelving ==
+
+
+=== Shelving (trunk) ===
+
+In development in trunk (1.11-dev), marked "experimental".
+
+Each shelf has zero or more versions of the change, and exactly one set of
+'revision' properties.
+
+* .svn/shelves
+ This subdirectory holds all shelving metadata and data.
+ It is created on demand, and never deleted.
+
+* .svn/shelves/<encoded-name>.current
+ Holds an ASCII-decimal number stating the latest shelf-version of the
+ shelf <encoded-name>.
+
+* .svn/shelves/<encoded-name>.log
+ Holds the 'revision' properties of the shelf, in svn_hash_write2() format
+ terminated with "PROPS-END". Created when any revprop is set; need not
+ exist.
+
+* .svn/shelves/<encoded-name>-<version>.patch
+ The patch file representing version <version>.
+
+<encoded-name>: the shelf name as UTF-8, encoded byte-by-byte into
+ two-hex-digit pairs, e.g. shelf name 'Az' is encoded as '417f'.
+
+<version>: an ASCII-decimal number, starting at 1
+
+
+=== Shelving v1 ===
+
+Released in Subversion 1.10.0, marked "experimental".
+
+Shelving only, no 'checkpoints' (versions). Each shelf has an optional log
+message.
+
+* .svn/shelves
+ This subdirectory holds all shelving metadata and data.
+ It is created on demand, and never deleted.
+
+* .svn/shelves/<encoded-name>.patch
+ The patch file representing one shelf, preceded by its log message.
+
+<encoded-name>: the shelf name as UTF-8, encoded byte-by-byte into
+ two-hex-digit pairs, e.g. shelf name 'Az' is encoded as '417f'.
+
+
Propchange: subversion/trunk/notes/shelving/shelf-structure.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: subversion/trunk/notes/shelving/shelf-structure.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain