Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

svndumpfilter --drop-empty-revs keeps padding revision

We are splitting a big svn repository (100k+ revs) into several smaller repos. I am using svndumpfilter (v1.7.2) to split the dump and svndumptool/sed to filter the big dump.

Everything works fine, except that there are still some "padding revisions" in my filtered dump, even though I used the option "drop-empty-revs".

This is not too problematic when we have less than 10% of useless "padding revisions" but sometimes, the new repo has only a few hundreds real revisions that are buried in 30k+ "padding revisions".

Here is the command I use and the revisions that are included

svndumpfilter --drop-empty-revs --renumber-revs include /MyProj < MassiveOldRepo.dump > NewAllCleanRepo.dump

------------------------------------------------------------------------
r3453 | (no author) | 2005-09-29 17:27:54 +0200 (jeu., 29 sept. 2005) | 1 line

This is an empty revision for padding.
------------------------------------------------------------------------
r3454 | (no author) | 2005-09-29 17:28:27 +0200 (jeu., 29 sept. 2005) | 1 line

This is an empty revision for padding.
------------------------------------------------------------------------    

I would like to know if there is a way not to include these revisions as I am filtering the dump (without manually removing them from the filtered dump).

EDIT: I would add that my use of svndumpfilter drops some empty revisions, the ones before the first "real" revision and the ones after the last "real" revision.

like image 824
Benjamin Baumann Avatar asked Mar 20 '12 16:03

Benjamin Baumann


1 Answers

I had the same problem with empty revisions being already included in the repository. Since Subversion 1.7 there is a still undocumented switch which allows to filter all empty revisions.

svndumpfilter --drop-all-empty-revs include / < oldrepos.dump > newrepos.dump

More information can be found at grokbase.

like image 130
Klaus K. Avatar answered Sep 30 '22 19:09

Klaus K.