[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Size of Subversion repository

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Fri, 6 May 2011 07:49:08 -0500

On Thu, May 5, 2011 at 7:27 PM, Loren M. Lang <lorenl_at_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
Received on 2011-05-06 14:49:53 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.