On Thu, May 5, 2011 at 7:27 PM, Loren M. Lang <lor...@north-winds.org> wrote: > On Fri, 2011-05-06 at 00:37 +0300, Daniel Shahaf wrote: >> Loren M. Lang wrote on Thu, May 05, 2011 at 14:32:37 -0700: >> > On Thu, 2011-05-05 at 15:43 +0300, Daniel Shahaf wrote: >> > > Loren M. Lang wrote on Wed, May 04, 2011 at 17:39:57 -0700: >> > > > The format file says 3 so I might have made it with 1.3.x. >> > > >> > > This conclusion is wrong. The format number is NOT the minor release >> > > number (because we may bump it multiple times between successive minor >> > > lines). >> > >> > Is there a list of these format numbers and their meanings/features? >> > I'm curious what I missed by not upgrading to 4 when I had the chance. >> > >> >> https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_base/fs.h >> https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/fs.h >> https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure > > There appears to be some confusion here. I was referring to format > under the repository root. The references you gave me appear to refer > to db/format. My original 1.4.x repository had format = 3 and db/format > = 1. When I created the new repositories, format was bumped to 5. I do > not know what db/format was as I already deleted them, but I'd assume > db/format for the 1.5.x fsfs repository was 3. > > My primary question though, was simply whether bdb was normally as > space-inefficient as my test showed and whether I should consider it > over fsfs for Subversion 1.5.x or 1.6.x+.
Prior to 1.6.x, bdb stored full-texts at HEAD, and deltified backwards, whereas fsfs has always stored an initial full-text and deltified going forward. This creates a situation that when nodes are copied (usually via a branch), you can get multiple fulltexts which are roughly the same, rather than multiple deltas. This is one of the major reasons the bdb backend takes more space. In 1.6, bdb was changed to use the same deltification scheme as fsfs. As a result, after bdb-backed repositories are upgraded to the 1.6 format, they will begin to use forward deltas. Dumping a loading in this case will cause forward deltas to be used repo-wide, thus resulting in space savings. But really, if you're going to dump / load a bdb repository, why not just use fsfs? -Hyrum