本文档编写用于描述 Subversion 1.1。如果您正在运行较新版本的 Subversion,我们强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的书籍版本。
也许让 CVS 用户熟悉 Subversion 的最重要的方式是让他们继续使用新系统来处理他们的项目。虽然使用扁平导入将导出的 CVS 仓库导入到 Subversion 仓库可以部分实现这一点,但更彻底的解决方案包括不仅要传输数据的最新快照,还要传输所有背后的历史记录,从一个系统到另一个系统。这是一个极其难以解决的问题,它涉及在没有原子性的情况下推断出变更集,以及在系统完全正交的分支策略之间进行转换,以及其他复杂情况。尽管如此,仍然有一些工具声称至少部分支持将现有的 CVS 仓库转换为 Subversion 仓库的能力。
其中一个工具是 cvs2svn (http://cvs2svn.tigris.org/),一个最初由 Subversion 自己的开发社区成员创建的 Python 脚本。其他工具包括 Chia-liang Kao 的 Subversion 转换器插件到 VCP 工具 (http://svn.clkao.org/revml/branches/svn-perl/) 和 Lev Serebryakov 的 RefineCVS (http://lev.serebryakov.spb.ru/refinecvs/). 这些工具的完整性水平各不相同,并且可能对如何处理您的 CVS 仓库历史记录做出完全不同的决定。无论您决定使用哪个工具,请务必尽可能多地验证转换结果——毕竟,您已经辛苦地构建了这些历史记录!
要获取已知转换器工具链接的更新集合,请访问 Subversion 网站的链接页面 (http://subversion.tigris.org/project_links.html).