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

Re: Huge number of rev files in in svn repository

From: Garrett Rooney <rooneg_at_electricjellyfish.net>
Date: 2006-06-12 22:44:49 CEST

On 6/12/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> On 6/12/06, Garrett Rooney <rooneg@electricjellyfish.net> wrote:
> > On 6/12/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> >
> > > I suspect using file system extended attributes would be a lot more
> > > efficient than separate files in revprops.
> >
> > Sure, it might be, but it would also be totally unportable and thus a
> > non-starter.
>
> You could simply test if they were available when the repository was
> created and use them when possible. Provide a tool to copy from the EA
> to a revprops file if you are going to copy the repository someplace
> that doesn't support them.
>
> Something needs to be done to help performance. It shouldn't be taking
> four+ days to extract all of the change sets from a repostory. It only
> took cvs2svn one day to get them into the same repository.

And something can be done to help performance, if it's really a
problem of large numbers of files in a single directory you can put
revision and revprop files into subdirectories via some hashing scheme
to reduce the total size of those directories. There's no reason to
resort to nonportable APIs to solve this problem, and honestly, I find
it incredibly unlikely that it's the revprops that are causing your
problems, at least not such that reimplementing them with EAs would
make it fast enough for your needs. You'd still be hanging them off
of a file in a giant directory, which seems likely to be equally slow
to access as the current giant directory of files scheme.

Nobody has implemented this because nobody has needed to yet. There
are numerous repositories as large or larger than the one you're
talking about that operate at perfectly reasonable speeds. On the
other hand, it's not like the standard use case is "extract every
single revision", so you may be hitting a bit of functionality that
isn't quite in the usual use case. If you have a need to speed this
up, perhaps you can work on a patch to add this functionality to
libsvn_fs_fs.

> Also, my repository is 8GB not 4GB, the du command wasn't finished. Is
> it useful for me to push a copy out onto a server? Not sure how big
> the tar.bz will be when finished.

Not really, it's not exactly news that large numbers of revisions
results in large numbers of revision and revprop files, and if we need
to test the developers already have access to some large repositories.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Jun 12 22:46:25 2006

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.