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

RE: compact repository (many files)

From: Cooke, Mark <mark.cooke_at_siemens.com>
Date: Thu, 27 May 2010 08:33:00 +0100

 

>> On Wed, May 26, 2010 at 05:53:17PM +0200, Paul Ebermann wrote:
>>
>> The problem now is that I have a quota limitation of 30000
>> files here (additionally to a size limit), and my svn repository
>> fills now about 1/6 of this, steadily growing, forcing me to
>> delete other files ...
>>
>> Is there any way to reduce the file number of the repository
>> without throwing away information? As in, throw the changes in
>> revisions 0..999 together in one file (and this way even safe
>> some space for better compression)? (I don't care for worse
>> performance, as those old revisions are used only very seldom.)
>
> -----Original Message-----
> From: Stefan Sperling [mailto:stsp_at_elego.de]
> Sent: 26 May 2010 17:11
>
> Yes, there is a way.
>
> If your university does not yet have svn 1.6 installed, you'll need to
> install it somehow. Then upgrade your repository to 1.6 format using
> svnadmin upgrade, and use the svnadmin pack subcommand:
>
> $ svnadmin help pack
>
> pack: usage: svnadmin pack REPOS_PATH
>
> Possibly compact the repository into a more efficient storage model.
> This may not apply to all repositories, in which case, exit.
>
> This command is new in 1.6. It only works with FSFS repositories.
> It will make the repository use less inodes by collapsing every
> 1000 revisions into a single file.
>
> If you want svn to collapse revisions more often, you'll need to
> re-compile Subversion after tweaking the
> SVN_FS_FS_DEFAULT_MAX_FILES_PER_DIR
> constant in subversion/libsvn_fs_fs/fs_fs.c
>
> Stefan
>
This is why I love this list, something comes out of the blue you didn't
know you need but turns out to be useful!

For anyone interested, I just tried this on a repo I had handy: 1.5Gb on
disk with 1189 revs and got these results:

           | Before pack | After pack |
-----------|---------------|---------------|
Files | 12 | 12 |
Folders | 2,406 | 1,408 |
File Size | 1,597,121,193 | 1,597,132,101 |
Disk Size | 1,604,366,336 | 1,602,351,104 |
============================================

This is on a windoze XP system using NTFS. Packing took ~four minutes:

D:\svn\test>date /t && time /t && svnadmin pack test.svn && time /t
27/05/2010
08:02
Packing shard 0...done.
08:07

D:\svn\test>svnadmin --version
svnadmin, version 1.6.11 (r934486)
   compiled Apr 18 2010, 23:12:22

Finally, as noted elsewhere, this is using v1.6 pack which does not pack
revprops (hence only 1/2 files packed) but 1.7 should pack those as
well...

Cheers,

~ mark c
Received on 2010-05-27 09:33:46 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.