| 到目前为止已经接触了四,五种版本控制系统了,但是个人觉得还是比较喜欢用CVS.尽管CVS有不少的缺陷的,尽管CVS的原作者已经有了新的替代版本SYN,但是我觉得到现在为止CVS的用户群依然不小. 尤其是Open Source的项目.
花了点时间,比较了一下各个版本控制系统的优点和缺点.
1.VSS(Visual Source Safe)
工作原理: lock-modify-unlock(有文件锁定机制)
优点:与微软公司自己的产品无缝结合,而且使用方便,操作简单
缺点:只能在Windows下运行,不能在Unix, Linux下运行。SourceSafe不支持异构环境下的配置管理,对用户而言是个麻烦事。这不是技术问题,是微软公司产品战略决定的。 适合于局域网内的用户群,并且使用人数比较少的时候比较适合.不适合于通过Internet连接的用户群,因为SourceSafe是通过“共享目录”方式存储文件的。
另外,VSS有文件锁定机制,这也决定了它不太适合用于比较大的项目,当开发人员比较多时,必定很多文件都被其它程序员锁定,确实回影响开发的进行.
说明: SourceSafe是Microsoft公司推出的配置管理工具 ,是Visual Studio的套件之一。 不过VSS不是微软的产品,是微软收购的产品, VSS最初的名字叫Source Safe,是一家小公司的产品,92年曾经获了最佳小型管理工具奖,然后立即被微软收购. SourceSafe的界面确实很难看。但是难看不碍事,确实简单比较容易使用. 新版本的VSS我确实没用过,我相信一定有不少的改进.
2.CVS(Concurrent Versions System)
工作原理:copy-modify-merge
优点:CVS支持并发的版本管理,与VSS不同的是,VSS有文件锁定机制,有就意味着在同一个时候着能够有一个程序员修改同一个文件.而CVS则没有这个限制。因此才会有后面的冲突的解决机制.
缺点: 多个程序员修改一个文件的时候,可能回产生冲突,对于不能够自动合并的代码需要手工解决这些冲突,确实比较麻烦.另外在Linux下面安装和配置一个CVS服务器也不是一件简单的事情,每次都会花费我很长的时间. 管理和使用对初学者有一定难度,不易上手. 目录不受版本控制,不利于大规模项目的完整控制. 对于并发程度较高的模块,多人同时更新情况下,文件的合并操作不易完成.
只适合管理代码,不太适合管理文挡.
说明:普及程度就不用说了,用本山大叔的那句话,"地球人都知道".
CVS代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。
这是一个将一组文件放在层次目录树中以保持同步的系统。人们可以从 CVS 服务器上更新他们的本地层次树副本,并将修改的结果或新文件发回;或者删除旧文件。 CVS 基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便。这一特性使得 CVS 成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。
典型配置(Windows平台)
CVSNT + TortoiseCVS
CVS确实比较复杂,但是那是在Linux下面,无论是配置还是使用都不容易入门.不过在Windows下面的使用比VSS还更简单方便,一样有GUI..强烈推荐TortoiseCVS做为CVS的客户端.另外WinCVS也不错。服务端在Windows下用CVSNT,也比较简单.
相关资源: CVS的相关资源可以说是多如牛毛,到出都是.另外,有本叫《版本控制之道》的书专门讲CVS的使用,翻了一下,确实没有什么帮助,确实很烂。下面是一些官方的website.
CVS HOME:http://www.cvshome.org
CVS NT http://www.cvsnt.com
WinCVS: http://www.wincvs.org
TortoiseCVS http://www.tortoisecvs.org/
[1] [2] 下一页
 【责编:runlz】 |