Svn 重构Subversion存储库

Svn 重构Subversion存储库,svn,version-control,tortoisesvn,branch,Svn,Version Control,Tortoisesvn,Branch,我读过关于svn move的svn命令,但没有正确使用它。。。我的情况是:我有一个包含5个组件的项目。现在,我为每个组件创建了单独的存储库,它们都有一个平面结构。我希望将所有这些组件移动到一个存储库中,以便最终获得如下结构: /Project /Component1 /branches /tags /trunk /Component2 /branches /tags /trunk 每

我读过关于svn move的
svn
命令,但没有正确使用它。。。我的情况是:我有一个包含5个组件的项目。现在,我为每个组件创建了单独的存储库,它们都有一个平面结构。我希望将所有这些组件移动到一个存储库中,以便最终获得如下结构:

/Project
    /Component1
        /branches
        /tags
        /trunk
    /Component2
        /branches
        /tags
        /trunk
每个组件的现有代码将位于每个组件的
trunk
目录中,所有这些都设置为我们对其进行分支/标记

使用
svnmove
命令来实现这一点非常有帮助

提前感谢,


Jim

我认为重组存储库最简单的方法是使用Ortoisesvn的“存储库浏览器”。在那里,您可以像在windows资源管理器中一样移动和重命名文件夹

所以如果你有

/Project
  /Component1
    /<source files>
/Project
/组件1
/
你可以:

  • Component1
    重命名为
    trunk
  • 创建一个新文件夹
    Component1
  • 将主干移动到组件1中
  • 添加
    分支
    标记
    文件夹
  • 对其他组件执行相同的操作

由于您要在不同的subversion存储库之间移动,因此您需要的不仅仅是move命令,因为这只在单个命令中起作用。有一篇关于如何跨存储库移动的好文章。

此技巧列表中的第2条是如何移动内容:

另一种方法是从各个存储库中进行导出,以在不使用SVN信息的情况下自行获取项目文件。然后您可以将它们添加到新的存储库中。

另一次尝试(因为我在第一次回答中错过了“单独存储库”部分):

  • 创建新存储库并为所有组件设置trunk/branchs/tags文件夹
  • 现有存储库
  • 将转储文件加载到新存储库的相应主干文件夹中(请参见本章底部的示例)
这就是我如何将多个存储库“合并”为一个存储库的方法

顺便说一句:这是使用subversion命令行客户端完成的