王朝网络
分享
 
 
 

版本控制系统小调查

王朝other·作者佚名  2006-10-25
宽屏版  字体: |||超大  

到目前为止已经接触了四,五种版本控制系统了,但是个人觉得还是比较喜欢用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/

3.SVN(Subversion)

没有具体研究过这个系统,只是大概用了一下.下面的资料来自其它地方.

说明

SubVersion相对于最常见的RCS,CVS,采用了更先进的分支管理系统,它的设计目标就是取代CVS,不过由于是一个比较新的系统,因此目前在开源中应用还不是非常常见,不过已经有不少的项目采用它作为版本控制系统了。

优于CVS之处

原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。

重命名/拷贝/删除文件这些动作都保存在版本历史纪录当中

对于二进制文件,使用了非常节省空间的方法保存(简单的理解,就是只保存和上一版本不同之处)

目录也是有版本历史的。整个目录树可以被移动或者拷贝,操作很简单,而且能够保留全部版本记录

分支的开销非常小

优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流

GUI客户端

TortoiseSVN,基本上是从Tortoise那里继承过来的。也比较好用。

4.ClearCase

也没用过这个工具,资料仅供参考.

Rational公司的ClearCase是软件行业公认的功能最强大、价格最昂贵的配置管理软件。最早的ClearCase并不是rational的产品.也是收购其它公司的产品.

ClearCase主要应用于复杂产品的并行开发、发布和维护,其功能划分为四个范畴:版本控制、工作空间管理(Workspace Management)、构造管理(Build Management)、过程控制(Process Control)。ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和 Windows NT平台被共享。

ClearCase的功能比CVS、SourceSafe强大得多,但是其用户量却远不如CVS、SourceSafe的多,主要原因是:ClearCase价格太昂贵.

5.HG(Mercurial)

Mercurial中文就是"水银"的意思,而在化学上"水银"写着hg,因此得名。

我现在正在使用的版本控制工具.和CVS有比较大的不同,CVS是2层的C/S模式,而hg是3层模式,任何人都可以维护一个hg才代码仓库.但是这样做有个缺点就是,每个人都要必须拥有一个代码仓库,所以网络上的数据传输量相当大,第一次pull代码的时候相当费时间.

优点

系统版本化,CVS里面是文件版本化,每一个文件都有一个修订版本号,实际上这比较分散,不容易管理,而在hg里面是很多个文件拥有一个版本号,一般来说是比较相关的改动.在hg里面这个叫ChangeSet.

其他

这个工具在国内很少人使用,所以中文资料匮乏.只有官方的website上有一些少得可怜的中文资料了.hg也有Windows版本的,但是只有命令行的,没有GUI.所以没有TortoiseSVN,TortoiseCVS那么好用了。

官方网站

http://www.selenic.com/mercurial/

其他的就是我只听说过名字,但从来都没有用过的了,不知道有没有人接触过,欢迎补充.

6.RCS

老古董,好象是比CVS还早的一个版本控制系统。

7.starteam

8.harvest

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有