问题
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):
svnadmin dump c:\repo > all_repo
Next is to filter it, to include only the project I am interested in (which is called "M1").
type all_repo | svndumpfilter include M1 --drop-empty-revs > 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.
- How can I correctly filter for the whole M1 folder and its children, while excluding the Personal/Richard/M1_Config folder entirely?
- How can I be sure whether the exported file contains the correct information to correctly recreate the M1 folder on the remote SVN?
回答1:
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
回答2:
I've tried at least 4 different applications to do that, the only that really worked was using svndumpfilterIN :
svnadmin dump c:\repo > all_repo
svndumpfilter.py all_repo --repo=c:\repo --output-dump=m1 include M1
Here is my full answer on linux.
Here is what I tried and didn't worked :
- http://furius.ca/pubcode/pub/conf/bin/svndumpfilter3.html (from previous answer)
- Including the problematic path as said in another previous answer and here. Problem : I still have paths I do not want in the target dump
- svndumpsanitizer (I still have paths I do not want in the target dump also)
回答3:
I run into the same problem. We have many remotely moved and copied paths in the repository and the only tool that really helped was svndumpsanitizer A single file C program that easily can be compiled on cygwin or Linux and it worked like a charm on a 170 GB incremental dump file with ~160,000 commits.
来源:https://stackoverflow.com/questions/9261625/svndumpfilter-fails-with-invalid-copy-source-path-error