从一个SVN文件夹结构移动到另一个

时间:2012-06-26 15:20:39

标签: svn version-control administration

我们有一个SVN服务器,其文件夹结构如下:

  

/ SVN /公司名称/中继线/项目

公司名称是项目所有内容都被检入,所有内容都在主干中,每个项目都有一个文件夹...在某些情况下,我们有项目后面有v2或v3 ...这是设置的大约5年或6年前,我去年采取了它......

我的升级计划的一部分是移动东西,所以我们有以下结构:

  

/ SVN /项目名称/(躯干|标签|分支)/

计划是从项目的最新版本中获取所有文件并将其放入主干,如果有项目的v2或v1,则将它们放在自己的分支中......

到目前为止,我已经想出如何让svnadmin dump和svndump-filter工作来获取一个特定的文件夹(所以,svn / companyname / trunk / project1)并获得2个测试项目(projectv1和projectv2)。现在我需要告诉项目v1导入到project / branch / v1并告诉项目v2导入到/ project / trunk ...

任何想法,除了直接搞乱转储文件,关于如何重命名文件夹和保留历史记录?

2 个答案:

答案 0 :(得分:2)

根据definitive SVN reference调整转储文件的方法:

  

此时,您必须做出决定。每个转储文件   将创建一个有效的存储库,但将完全保留路径   他们在原始存储库中。这意味着即使你   将有一个仅用于您的calc项目的存储库,该存储库   仍然会有一个名为calc的顶级目录。如果你想要你的   trunk,tags和branches目录住在你的根目录中   存储库,您可能希望编辑转储文件,调整   节点路径和节点复制路径标头,以便它们不再具有   第一个计算/路径组件。此外,你要删除   创建calc目录的转储数据部分。

答案 1 :(得分:0)

根据@malenkiy_scot关于编辑文件的评论,环顾四周,我在openSUSE蜥蜴网站上发现了一篇关于merging SVN Repositories的文章。这似乎做我需要它做的事情,包括文件夹的重命名,转储文件的合并等......