On Thu, Jun 07, 2018 at 09:04:29AM +0200, Stefan Sperling wrote:
> On Wed, Jun 06, 2018 at 03:12:20PM -0400, Alfred von Campe wrote:
> > I’m trying to remove two sensitive directories from a repo so we can have a 
> > 3rd party work on it.  I first dumped the entire repo, and now I’m trying 
> > to remove two directories from one particular branch.  But svndumpfilter 
> > keeps failing as follows:
> > 
> > $ svndumpfilter exclude branches/develop/dir1 branches/develop/dir2  < 
> > repo.dump > repo-nodir12.dump
> > svndumpfilter: E200003: Invalid copy source path '/branches/develop/dir2'
> > 
> > I’ve tried this both from a full incremental dump of the repo as well as a 
> > non-incremental dump of the repo starting from the revision that 
> > branches/develop was created.  It always fails after the exact same 
> > revision.
> > 
> > Is there anything I can do to work around this issue?
> > 
> > Alfred
> 
> Yes, you can update to 1.10 and use svnadmin dump --exclude
> instead of using svndumpfilter.
> See 
> http://subversion.apache.org/docs/release-notes/1.10.html#dump-include-exclude
> 
> An alternative that works with earlier releases is to set up svnsync
> replication and configure authz access rules for the sync user which
> forbid read access to the paths you want to exclude. svnsync will deal
> with missing copy sources by translating copies into additions.

I forgot to mention the most immediate solution:
Add the relevant copy sources to your argument list for 'svnadumpfilter'.
There is a script which can help with this:
https://svn.apache.org/repos/asf/subversion/trunk/tools/server-side/svnpredumpfilter.py

Reply via email to