11. 迁移 CVS 版本库到 Subversion

或许让 CVS 用户熟悉 Subversion 的最好办法就是让他们的项目继续在新系统下工作,这可以简单得通过平淡的把 CVS 版本库的导出数据导入到 Subversion 完成,或者是更加完全的方案,不仅仅包括最新数据快照,还包括所有的历史,从一个系统到另一个系统。这是一个非常困难的问题,包括推导保持原子性的修改集,转化两个系统完全不同的分支策略等。但是还是有许多工具声称,至少部分具备了转换 CVS 版本库为 Subversion 版本库的能力。

最流行的(好像是最成熟的)转换工具是 cvs2svn(http://cvs2svn.tigris.org/),它是最初由 Subversion 自己的开发社区成员开发的一个 Python 脚本。这个工具只运行一次:它会多次扫描你的 CVS 版本库,并尽可能尝试推断提交,分支和标签。当它结束时,结果是 Subversion 版本库或可移植的 Subversion 转储文件。参见其网站,以了解详细的指令和附加说明。