On Wed, Jun 03, 2009 at 10:42:39PM +0200, Frans Pop wrote:
> The way my cleanup works is that I remove all changes to the affected
> files made between revisions 55934 and 57133 (both inclusive).
> As a result of the cleanup the 'svnadmin dump' file shrinks by more than
> 2GB (!) and the repository database shrinks from 2.4GB to 1.7GB.
Which sizes did you compare? The d-i repo still includes plenty of
vdelta revisions from repository format <= 3. A dump/load cycle should
reduce the size anyway.
> As a result of the cleanup, some revisions (24 in total) become empty as
> no other files were changed in that commit, but subversion handles this
> without problems: a diff against the previous revision just shows empty.
> I'll modify the revision comment to explain this. I'll also modify the
> comments for revisions that caused the problem and the (now very small)
> cleanup commits to explain the issue.
Working copies with references to this revisions gets invalidated.
> Because of the way tagging in subversion works, it is not possible to do
> the cleanup and still keep the tagged versions exactly as they were
> uploaded (see below for affected package versions).
Please explain. A tag is just a copy, which can also include
modifications.
> Essentially: not.
This is incorrect. The effects are outlined in the Subversion FAQ and
references materials[1].
> If we are agreed, I will pick a day to do the actual cleanup. During part
> of that day the repository will be blocked for commits.
There is not need to block anything. You can only change intermediate
revisions, so the top is not affected.
> BEGIN {
> clean = 0
> infile = 0
> }
[...]
I think you want svndumpfilter.
Bastian
[1]: http://subversion.tigris.org/faq.html#removal
--
Is truth not truth for all?
-- Natira, "For the World is Hollow and I have Touched
the Sky", stardate 5476.4.
Attachment:
signature.asc
Description: Digital signature