本文档是为描述 Subversion 1.2 而编写的。如果您正在运行更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅适合您 Subversion 版本的本手册版本。

将仓库从 CVS 转换为 Subversion

让 CVS 用户继续使用新系统处理他们的项目可能是让 CVS 用户熟悉 Subversion 的最重要方法。虽然可以通过将导出的 CVS 仓库导入到 Subversion 仓库中来实现这一点,但更彻底的解决方案是不仅要传输数据的最新快照,还要传输其背后的所有历史记录,从一个系统到另一个系统。这是一个极难解决的问题,需要在没有原子性的情况下推断出变更集,并在系统完全正交的分支策略之间进行转换,以及其他复杂因素。尽管如此,还是有一些工具声称至少部分支持将现有 CVS 仓库转换为 Subversion 仓库的功能。

其中一个工具是 cvs2svn (http://cvs2svn.tigris.org/),这是一个由 Subversion 自己的开发社区成员最初创建的 Python 脚本。其他工具包括 Lev Serebryakov 的 RefineCVS (http://lev.serebryakov.spb.ru/refinecvs/)。这些工具的完整性水平不同,并且可能会对如何处理您的 CVS 仓库历史记录做出完全不同的决策。无论您决定使用哪个工具,请务必对转换结果进行尽可能多的验证 - 毕竟,您已经为构建这些历史记录付出了很多努力!

有关已知转换器工具链接的更新集合,请访问 Subversion 网站的链接页面 (http://subversion.tigris.org/project_links.html)。

TortoiseSVN 官方中文版 1.14.7 发布