[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: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Fri, 6 May 2011 16:11:46 +0300

Hyrum K. Wright wrote on Fri, May 06, 2011 at 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.

Clarification: upgraded repositories will use forward deltas
(FSFS-direction-deltas) only for new data, not for historical data.

> Dumping a loading in this case will cause forward deltas to be used
> repo-wide,

i.e., in historical revisions too

> 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 15:12:26 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.