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

Re: Remove old revisions - merge old revs into one?

From: Ryan Schmidt <subversion-2008c_at_ryandesign.com>
Date: Fri, 22 Aug 2008 04:45:26 -0500

On Aug 22, 2008, at 04:26, Henrik Sundberg wrote:

> 2008/8/22 Ryan Schmidt:
>> On Aug 22, 2008, at 02:39, Michael Schmarck wrote:
>>> Is it possible to merge all the "old" (however that's defined)
>>> revisions into one and then dump everything that's been done
>>> before that "old" rev.?
>>> Reason: I don't really need to keep a history of everything
>>> back to "day 1".
>> That's not a good reason.... :)
>> The repository stores things efficiently, storing only changes
>> between
>> revisions. So you probably won't gain much by deleting part of the
>> history,
>> and you lose a lot -- the history!
> A recent thread mentioned that a few bookkeeping files were created
> for each revision. I.e. very many small changes ends up in a big total
> (filesystem blocksize is the main reason).

Oh yes, that is true. Well, it's not extra bookkeeping files, but
rather extra bookkeeping information in the revision file about
directories affected by the commit. Perhaps future versions of
Subversion will store this information more efficiently, and at that
time upgrading the repository format would then hopefully reclaim the

>> In some cases, when you go to the effort
>> of removing old revisions, your repository even ends up much
>> larger. (Cheap
>> copies can become non-cheap, for example, if the source of the
>> copy goes
>> away with your deleted revisions.)
> Agreed, but a smart tool would be able to handle those cases
> efficiently. Resulting in just a few revisions.

Ah, well, I think we don't have such a smart tool then. :)

> Another case is when large binaries was added to the repository,
> before all internal rules where set up. In this case I would like to
> purge the database from all files that where deleted prior to revision
> x. That may be a part of the eventual obliterate functionality though.

That would be a more reasonable reason to purge old revisions. Since
we don't have obliterate, dump / filter / load is the only way. This
is painful since you have to take the repository offline, massage it,
put a new repository online, and make everybody check out new working
copies, since revision numbers now differ. This also means any
revisions numbers you list in your log messages will be wrong if they
are past the revisions you deleted. Depending on how many people are
accessing the repository and how valuable their time is, it may be
cheaper to just buy more disk space for the server.

> Making a good old revision compression tool seems to be quite
> difficult and not really needed though.

For some reason I thought all revisions were already compressed, but
looking in my own repository, this doesn't seem to be the case.

To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-08-22 11:45:58 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.