This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.

把 CVS 仓库转换成 Subversion 仓库

为了让 CVS 用户熟悉 Subversion, 或许最重要的方法就是让他们使用 Subversion 继续原来的工作. 虽然可以简单地把 CVS 仓库中的最新数据直接 导入到 Subversion 仓库里, 但最好的做法是同时也把全部的修改历史导入到 Subversion 仓库. 这种问题解决起来非常困难, 因为它涉及到在缺少原子性 的前提下推断出变更集, 而且还要在两种完全正交的分支策略之间完成转换, 其中还会出现各种复杂的情况. 不过, 仍然存在一些工具可以部分支持从 CVS 仓库到 Subversion 仓库的转换.

最流行 (并且最成熟) 的转换工具是 cvs2svn (http://cvs2svn.tigris.org/), 它由 Subversion 社区成员使用 Python 开发而成. 这个工具只需运行一次: 它会多次扫描 CVS 仓库, 尽最大 的努力去推断出提交, 分支和标签. 命令执行结束后, 最终得到的是一个 Subversion 仓库或可移植的 Subversion 转储文件. 关于命令的详细用法 和注意事项, 请浏览官网.