1

I have looked at multiple questions and none seem to match what I am trying to do. I started down the path of dump, filter, load but that didn't seem right. Move may do it but it doesn't feel right since I am combining and versions seem like they will be over-written.

My current structure looks like:

/REPO
     /Project_1
           /trunk
           /branches
           /tags
     /Project_2
          /trunk
          /branches
          /tags
     /Project_3
         /trunk
         /branches
         /tags  

I would like to move them into a structure that looks like

/REPO_NEW
     /trunk
          /Project_1
          /Project_2
          /Project_3
     /branches
          /Project_1
          /Project_2
          /Project_3
     /tags
          /Project_1
          /Project_2
          /Project_3

I would like to preserve the history once the restructuring is complete. The brute force appraoch of disconnecting everything and redoing my directory/file structure and then commiting into the new repository if my absolute fallback as history is lost.

jschnell
  • 11
  • 1
  • I believe [Combining multiple SVN repositories into one](http://stackoverflow.com/questions/17047720/moving-multiple-svn-repositories-into-one) is doing the inverse of what I am trying to do. I may be wrong but the layout descriptions appear to be the inverse. – jschnell Jun 11 '13 at 16:13

1 Answers1

1

dump/filter/load is exactly what you want, if you want to keep your history. There are extensive docs on doing a dump/load to merge 2 repositories together.

You will have to repeat the dump/filter/load several time to move each project or you will have to do it with a large filter command. I think I'd do it for each project to keep it simple.

gbjbaanb
  • 51,617
  • 12
  • 104
  • 148
  • So I have the filtered dumps - one for each project. I assume I need to modify the node-path, etc.. and then load into REPO_NEW. Can you point me to the extensive docs. I found some at [link](http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate) but the editing of node-path was not well documented. Are there better docs anywhere? – jschnell Jun 11 '13 at 16:10
  • you just need to understand the filter changes one path to another, dump project1/trunk and filter it to trunk/project1. Repeat. Practice on a copy of your repo first to get the hang of it, its not something many people do so the tool is not pretty. – gbjbaanb Jun 11 '13 at 17:48
  • Is there something online to show how to do this? I can't seem to get it into the right structure. I have a dump file of project1. How do you filter it to trunk/project1, branches/project1, tags/project1? Is it an actual filter command or editing of node-path? I am really thinking to just disconnect, and check-in to new repo with the correct structure and forget about the history. – jschnell Jun 11 '13 at 19:00