我们有一个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 ...
任何想法,除了直接搞乱转储文件,关于如何重命名文件夹和保留历史记录?
答案 0 :(得分:2)
根据definitive SVN reference调整转储文件的方法:
此时,您必须做出决定。每个转储文件 将创建一个有效的存储库,但将完全保留路径 他们在原始存储库中。这意味着即使你 将有一个仅用于您的calc项目的存储库,该存储库 仍然会有一个名为calc的顶级目录。如果你想要你的 trunk,tags和branches目录住在你的根目录中 存储库,您可能希望编辑转储文件,调整 节点路径和节点复制路径标头,以便它们不再具有 第一个计算/路径组件。此外,你要删除 创建calc目录的转储数据部分。
答案 1 :(得分:0)
根据@malenkiy_scot关于编辑文件的评论,环顾四周,我在openSUSE蜥蜴网站上发现了一篇关于merging SVN Repositories的文章。这似乎做我需要它做的事情,包括文件夹的重命名,转储文件的合并等......