svnsvnadminsvndumpfilter

svndumpfilter fails with "Invalid copy source path..." error


I want to move part of my SVN repo offsite, onto an AWS instance & am following this page (Repository Maintenance)

I have taken a dump of the whole repo (Windows commands):

Next is to filter it, to include only the project I am interested in (which is called "M1").

I know this is correct, as I have done it on some of the other projects already.


On this project, it breaks with the error indicated in the title of this post. The exact wording is:

svndumpfilter: Invalid copy source path '/Personal/Richard/M1_Config'

The process tried to write to a nonexistent pipe.

The folder that the error refers to is a configuration utility that I wrote and submitted under my personal folder, and it is not under the root/m1... folder at all. I do not want to include it in the filtered file, but do not know how to indicate this to the svn commands.

  1. How can I correctly filter for the whole M1 folder and its children, while excluding the Personal/Richard/M1_Config folder entirely?
  2. How can I be sure whether the exported file contains the correct information to correctly recreate the M1 folder on the remote SVN?

Solution

  • At some point /Personal/Richard/M1_Config has been copied to the M1 path. The error message is say that it can't perform the copy since the source has been filtered out. Check the revision that svndumpfilter complained about.

    You must include the /Personal/Richard/M1_Config path even if you don't want it in the final import. You also need to include the /Personal/Richard and /Personal paths since each resides in it's parent. Your command needs to be:

    type all_repo | svndumpfilter include M1 "/Personal" --drop-empty-revs > m1 
    

    If you have other paths, say /Personal/James that aren't needed and you wish to exclude them then you can run a second svndumpfilter to strip them:

    type m1 | svndumpfilter exclude "/Personal/James" --drop-empty-revs > m1_2