views:

39

answers:

2

Hello,

we have a a pretty large SVN repository (50 GB, Over 100000 revisions). Working with it is pretty slow and my guess is that the reason for this is the flat directory structure in db/revs and db/revprops (Where each revision is one file).

We use the FSFS format with SVN 1.5 (On a linux server) but the repo was created with an older SVN version. Now I read that SVN 1.5 supports "sharding" and I understood that this feature distributes the revisions into multiple directories so a single directory doesn't contain so many files. This sounds pretty useful but unfortunately it looks like this feature is only used with repositories which are freshly created with SVN 1.5.

How can I convert a large existing linear repo to a sharded repo? The manual mentions the tool "fsfs-reshard.py" but this script says "This script is unfinished and not ready to be used on live data. Trust us.". So I definitely don't want to use that. Is there an alternative?

+4  A: 

Will an svnadmin dump and svnadmin load do the trick? http://subversion.apache.org/faq.html#dumpload

the_mandrill
+2  A: 

The best way is as mentioned dump/load cylcle. But you can try the upgrade.

svnadmin upgrade

Make a copy of your repo first try the upgrade and test it....(don't miss to make a backup).

khmarbaise
The upgrade step is pretty quick, and worth doing. For a repository of that size the dump/load cycle would probably take the best part of a weekend, which may be impractical.
the_mandrill
Upgrade does nothing. Exits immediately and says it is completed but the repo is still in linear format. I'll try out if dump/load helps. May take some hours.
kayahr
dump/load does the trick. Thanks.
kayahr