[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: B Smith-Mannschott <bsmith.occs_at_gmail.com>
Date: Wed, 26 May 2010 20:51:01 +0200

On Wed, May 26, 2010 at 19:07, Paul Ebermann <Paul-Ebermann_at_gmx.de> wrote:
> Mark Phippard wrote:
>> On Wed, May 26, 2010 at 11:53 AM, Paul Ebermann <Paul-Ebermann_at_gmx.de> wrote:
> [...]
>>> 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.)
>>>
>>> I found nothing about this by extensive googling so I assume such a function is not yet
>>> implemented. Is this really a new idea, or was it discussed before and rejected? Or is
>>> there a simple workaround?
>>
>> Subversion 1.6 includes the svnadmin pack command which will convert
>> every 1000 revisions into a single revision file.
>
> Ah, nice to now, so I now only have to wait (or lobby) for the next software update on one
> accessible computer. (The server works with older clients, IIRC.)
>
> (Thanks also to the other answerers.)
>
> (It shows I don't find the right search words.)
>
>> It does not pack
>> the revprops though, so it will only save you about 2000 files instead
>> of 4000.
>
> I think packing the revprops would (from a space viewpoint) be even more useful than
> packing the revisions, since most of these are quite small (similar) text files.
>
> Statistics: only 91 of those have a size of more than 150 bytes, the combined size
> (including "file: size" like lines for each) is 356 KB, while they now use 2.56 MB due to
> block size of 1K (= 7 times the space), even without any compression. And I would save
> those 2000 files.

On Wed, May 26, 2010 at 19:07, Paul Ebermann <Paul-Ebermann_at_gmx.de> wrote:
> Mark Phippard wrote:
>> On Wed, May 26, 2010 at 11:53 AM, Paul Ebermann <Paul-Ebermann_at_gmx.de> wrote:
> [...]
>>> 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.)
>>>
>>> I found nothing about this by extensive googling so I assume such a function is not yet
>>> implemented. Is this really a new idea, or was it discussed before and rejected? Or is
>>> there a simple workaround?
>>
>> Subversion 1.6 includes the svnadmin pack command which will convert
>> every 1000 revisions into a single revision file.
>
> Ah, nice to now, so I now only have to wait (or lobby) for the next software update on one
> accessible computer. (The server works with older clients, IIRC.)
>
> (Thanks also to the other answerers.)
>
> (It shows I don't find the right search words.)
>
>> It does not pack
>> the revprops though, so it will only save you about 2000 files instead
>> of 4000.
>
> I think packing the revprops would (from a space viewpoint) be even more useful than
> packing the revisions, since most of these are quite small (similar) text files.
>
> Statistics: only 91 of those have a size of more than 150 bytes, the combined size
> (including "file: size" like lines for each) is 356 KB, while they now use 2.56 MB due to
> block size of 1K (= 7 times the space), even without any compression. And I would save
> those 2000 files.
>

True, but revprops are mutable, while revs are immutable. That said,
packing of revprops has been implemented on trunk and will be coming
with 1.7.

You might consider the option using bdb instead of fsfs for your
repository. I wouldn't normally prefer bdb, but it does create far
fewer files than fsfs.

// ben
Received on 2010-05-26 20:51:37 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.