You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jim McCaskey <ji...@pervasive.com> on 2012/04/04 16:11:01 UTC

svndumpfilter and subdirectories

Hello all,

I'm hoping I'm just failing to find the correct syntax to Google for this question.  I have a repository that I want to fish out a subdirectory and all its branches.  For example:

project/trunk/compa
project/trunk/compb
project/trunk/compc

I only want to get compb.  BUT, I also need to get all the branches:

project/branches/b1/compa
project/branches/b1/compb
project/branches/b1/compc

project/branches/b2/compa
project/branches/b2/compb 
project/branches/b2/compc

project/branches/b3/compa 
project/branches/b3/compb
project/branches/b3/compc

In the above, I want all the compb directories.  After some research, I came up with this command:

cat nightly.dmp | svndumpfilter --drop-empty-revs --renumber-revs include project/trunk/compb project/branches/b1/compb project/branches/b2/compb project/branches/b3/compb > compb.dmp

That runs and seems to work.  Then I try to import it.  Hilarity ensues:

svnadmin load /data/svn/test/ < compb.dmp

It fails quite often complaining about not being able to find directories.  I've read the documentation and have done the painstaking bit of building the directories needed by the load.  After a few hours of hacking at it that way, I get to success!  Or so I thought.

I get full copies of project/trunk/compb and project/branches/b1/compb.  However, it turn out that project/branches/b2/compb and project/branches/b3/compb don't show up at all.  I can't even find references to those branch names in the dmp file.

Researching the history of the repo, the two branches that don't show up are simply there because they were copied to the branches as part of the branch copy. There are different versions on each branch because the branching was done at different times.

I'm a bit stumped at this point how to proceed.  Like I said, I'm guessing that this has been dealt with before; my Google judo is just not up finding it.

-Jim