Effing gmail :( On Sun, Jul 8, 2012 at 2:28 AM, Hyrum K Wright <hy...@hyrumwright.org>wrote:
> On Fri, Jul 6, 2012 at 3:32 AM, Stefan Fuhrmann > <stefan.fuhrm...@wandisco.com> wrote: > > Hi devs, > > > > This week I had one of my "how hard can it be?" moments > > and finally implemented revprop packing (did that mainly > > offline). It passes all tests and seems to work pretty well. > > > > It's design deviates from the existing revprop packing branch > > in that it is more scalable and simpler to implement. Key > > differences: > > > > * Have a configurable limit (default 64k) to the pack file size. > > Concatenate revprops only up to that limit, but at least one > > revision's revprops per file. Have the manifest map revs to > > revprop pack files. IOW, let the OS do all the heavy lifting > > of storage management. > > * Make revprop packing a mandatory part of FSFS packing > > in format 6 repos. There is no need to track revprop packing > > separately nor to give it a separate format info. > > Do you have an overview of the entire design, rather than just a delta > between your implementation and the existing one? > > subversion/libsvn_fs_fs/structure explains more of it. Beyond that, there is no specific design. The core ideas are * limited pack file size * separate manifest file & folders as with revision data packing * single-file-move-into-place semantics when writing revprops (as today with non-packed revprops) I.e. we combine proven parts of revision data packing and non-packed revprop handling. Everything else is just "data processing". -- Stefan^2. -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download