Problems with svndumpfilter
Unsupported dumpfile version
Some versions of svnadmin and svndumpfilter do not work nicely together. When you pipe a dump file created by svn through svndumpfilter you will then see this error:
svn: Unsupported dumpfile version: 3
This means that svndumpfilter expects a dumpfile of version 2 and does not know how to handle version 3. Then it may help to first load the server dump file in your local repository like mentioned above. If you do not get it to work, try upgrading to a newer version of your subversion packets, or consult the internet. For example, svndumpfilter vs svnadmin and version inconsistency.
Invalid copy source path
Another problem can occur when you include or exclude a path and one revision has changes on files that are both inside and outside the path that you want to keep. For instance, I tried excluding the integration directory when making a dump for the eXtremeManagement product as it did not make sense to include that in the dump file. Then I saw this:
Revision 369 committed as 355. Revision 370 skipped. svndumpfilter: Invalid copy source path '/eXtremeManagement/integration'
This means that the following is the case:
- revision 369 is fine;
- revision 370 is skipped because the excluded path was referenced there;
- revision 371 causes problems, as it changes something both inside and outside the excluded path: probably you copied something from an excluded path to an included path.
In my case, this was the problem:
$ svn log -r 371 file:///var/lib/svn/temp/ -v ------------------------------------------------------------------------ r371 | maurits | 2006-02-23 15:21:18 +0100 (do, 23 feb 2006) | 1 line Changed paths: D /eXtremeManagement/integration A /eXtremeManagement/temp (from /eXtremeManagement/integration:370) Moved integration revision 4068 to temp.
So when you use svndumpfilter and run into this problem, you need to manually work around that. I wrote a script that does that. It also does some checking. Perhaps it is of use to others. You cannot use it off the shelf. You need to adapt it to your own needs. If you use it unthinkingly on your server, Mr Spacely could get very upset.
