我的公司目前为其所有项目使用两个独立的 CVS 存储库。
我的老板选择在一个条件下迁移到 SVN:迁移必须是渐进的,并且必须至少造成停机时间。
鉴于我将保留多存储库结构(因此客户软件转到 repo1,内部软件转到 repo2,即使这种区别不是绝对必要的),我想问是否可以定期提名一个项目从 CVS 迁移到 SVN 并将其迁移到现有存储库。
让我解释得更好。为简单起见,举一个仅涉及一个 repo 的示例。
- 第 0 天:SVN 回购初始化
- 第 1 天:新项目(称为 P)启动,开发人员提交到 SVN repo
- 第 2 天:不再开发的旧项目 A 是迁移的候选对象。所有开发人员都同意提交对 CVS 的最新修改,并在迁移后使用 SVN(如果他们需要)
- 第 3 天:从第 1 步或第 2 步重复循环
通常,cvs2svn
可以生成一个可以导入svnadmin load
到空存储库的转储文件(我已经做了一些成功的尝试)。并且通常cvs2svn
可用于为一个或多个选定项目生成转储(有一些关于它的教程,都成功运行)。
把它们放在一起
由于我可以随时为任何选定的 CVS 项目集(例如 A、B、C)生成转储,我可以(以及如何)使用这些转储将这些修订附加到项目(例如 P 和 Q)已经存在的 SVN 存储库中吗?
澄清:我希望文件系统布局看起来像
/svnroot
/projectA
/branches
/tags
/trunk
/projectX
/branches
/tags
/trunk