最近整理往日的电子资料时,发现以往的曾经做过的项目的源码和相关文档散乱地分布在不同的光盘上,从最早的CD到较近的DVD,实在是不少。于是想到了版本控制工具,上网查找方方面面的相关资料,拾掇拾掇揉成这篇文章,可能会显得较为凌乱,有时间我会做二次整理的,不过相信会给朋友们带来一些outline的概念,想必还是有些用处,如此,也不枉我这n番敲击了。
目前市面上比较流行和曾经出现过的版本控制、软件配置工具有以下一些:
RCS
SCCS
CVS
SVN
VSS
CLEAR CASE
...
在公司里用的是统一的CLEAR CASE, 属于重量级的,当然它的价格和功能也是重量级的,因为我此番主要的目的是归档我自己以前曾经做过的一些小项目、小工程,所以CLEAR CASE就略过不谈了,重点会放在CVS和SVN上。
下面是CVS和SVN各自的优缺点,相信这些信息对大家合理地选择使用哪一个工具有指导意义,
CVS的优点:
CVS的缺点:
不能对目录对象做版本化管理和控制;
更名后(无论是文件还是目录)版本信息会被清空,也即不支持版本控制下的更名操作;
SVN的优点:
多versioned object提交的原子操作;
优化的二进制文档版本化管理;
将目录做为versioned object处理;
支持在versioned object上的更名处理;
SVN的缺点:
不提供对versioned object的独占访问;
versioned object的版本号统一更新;