我有一个一直在扩展和扩展的存储库。现在我正在清理它,并希望将每个项目移动到单独的存储库。我目前的设置:
[ProjectRepo]
- Projects
- Software1
- trunk (VS2010 solution inside here)
- .sln
- vs project #1
- vs project #2
- vs project #3
- branches
- tags
- Software2
- trunk (VS2010 solution inside here)
- .sln
- vs project #1
- vs project #2
- vs project #3
- branches
- tags
- Shared
- shared component #1 (vs project)
- trunk
- branches
- tags
- shared component #2 (vs project)
- trunk
- branches
- tags
现在我想将每个项目和每个解决方案移动到主干目录中自己的存储库中。我一直在尝试使用 svnadmin dump 和 svndumpfilter,但问题是节点路径一直保持像旧结构一样。如何达到以下结构?
[Software #1 Repo]
- trunk
- branches
- tags
[Software #2 Repo]
- trunk
- branches
- tags
[Shared Component #1 Repo]
- trunk
- branches
- tags
如果您能够使用 svndumpfilter 成功过滤项目(我认为如果项目之间存在任何"交互",例如复制或合并,这是不可能的),那么您可以使用旧结构创建新的存储库,然后通过 svn copy 和 svn delete 创建新结构(即将 Software1Repo/Projects/Software1/trunk 复制到 Software1Repo/trunk, 然后 svn 删除它,等等)。