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

fs-rep-sharing branch

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Mon, 06 Oct 2008 22:59:38 -0500

The fs-rep-sharing branch is functionally complete, and I'd like to get the
branch merged to trunk soon. These are the stats for various copies of of our
repository for the different branch/backend combinations.

BDB: 1.5: 1.4GB
     trunk: 627MB
     reps-shared: 490MB

FSFS: 1.5: 586MB
      trunk: 578MB
      reps-shared: 523MB

The effect is quite pronounced on BDB, with around a 20% space savings compared
with our current trunk (and over 67% compared with 1.5!) FSFS doesn't show as
much improvement, partly due to the size of the index required to enable
rep-sharing, partly due to decreased sharing opportunities in same-revision and
parallel revision objects, and mostly due to the absolute floor on repo size due
to inode usage.

We may be able to tune the FSFS implementation just a bit. For instance, it may
not be likely that directory content representations are likely to be shared, in
which case we shouldn't bother

The remaining issue is the failing blame tests. Blame tests 10 and 11, which
test 'blame -g', both fail for both backends. Before the recent commits to add
rep-sharing to fsfs, the tests only failed for bdb. I'm slightly puzzled here
because 'blame -g' should be FS-agnostic. If anybody has some insight, I
welcome it.

[Note: Because SQLite is still not an official dependency, to compile the
rep-sharing stuff with FSFS, you'll need to add -DENABLE_SQLITE_TESTING to the
CPPFLAGS when configuring.]

-Hyrum

Received on 2008-10-07 06:00:15 CEST

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