微软的 SourceSafe 使用简单,而且与 Visual C++ 开发环境结合得非常好,所以许多人一开始进行版本控制时往往选择 SourceSafe。但是 SourceSafe 不具备许多关键的特性,比如:不能建分枝,不能建标记等等,而且还有安全方面的问题。所以在使用了一段时间以后,对版本控制的概念熟悉了以后,可能想转移到其他的版本控制软件。许多商业的版本控制软件(比如:ClearCase)都提供了从SourceSafe到自己的转换工具,开放源码的CVS也有两个这样的转换工具。一个是 vss2cvs.pl,这是一个 perl 脚本,我曾经试用过,但是没有成功。另外一个是 VSSExtractor,经过一天的摸索,终于成功地用VSSExtractor 把我以前的 SourceSafe 数据转换到 CVS 中。我现在把我转换的过程写下来,希望对大家有所帮助。
1、从http://sourceforge.net/projects/vssextractor/ 下载 VSSExtractor,需要两个文件cserver-0.7.1.tar.gz 和 VSSExtractor-0.7.1.zip
2、下载CVS 源码http://ftp.cvshome.org/cvs-1.11.1/cvs-1.11.1p1.tar.gz,VSSExtractor 只能使用这个版本的CVS。
3、如果需要自己编译 VSSExtractor,还需要 xml-xerces-1.4.0的源文件,在 apache 网站上没有打包好的,我是用CVS得到的。用如下命令:
set CVSROOT=:pserver:anoncvs@cvs.apache.org:/home/cvspublic
cvs login
(密码:anoncvs)
cvs co -r Xerces-C_1_4_0
xml-xerces