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

将仓库从 CVS 转换为 Subversion

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

最流行(也是最成熟)的转换工具是 cvs2svn (http://cvs2svn.tigris.org/),这是一个由 Subversion 自己的开发社区成员创建的 Python 脚本。该工具旨在仅运行一次:它会多次扫描您的 CVS 仓库,并尽力推断提交、分支和标签。完成后,结果要么是一个 Subversion 仓库,要么是一个可移植的 Subversion 导出文件,代表您代码的历史记录。请参阅网站获取详细说明和注意事项。