找回密码
 FreeOZ用户注册
查看: 2124|回复: 10
打印 上一主题 下一主题

[其他] 版本管理器的发展史

[复制链接]
跳转到指定楼层
1#
发表于 19-11-2010 10:31:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
以前本站发布过编程语言进化Windows的达尔文进化图,今天在网上看到版本管理器的进化图,转过来,源文链接如下:
http://codicesoftware.blogspot.com/2010/11/version-control-timeline.html (墙)

这张图上分成了四个时期:


史前时期:1982年的RCS。现在你可能还能在Unix的发布包中找到它。
古典时期:1990年的CVS(经典的SCM管理器,可惜不能track目录和文件名的改变,今天这个东西已经过时了),1985年的PVCS,1992年的clearcase(价格贵,功能复杂,当然,今天也有很多公司在用),微软的VSS(Welcome to Hell),90年代中期的Perforce(P4,这个工具今天都还在被广泛地使用,尤其是那些中等大小却有着大量开发团队的公司,现在是Google内部最大的代码管理器)。
中世纪时期:SVN(Linus很不喜欢SVN,2006年引入了Git),AccuRev(强力支持branch和merge,其扮演了一个很重要角色帮助社区脱离clearcase和CVS),
文艺复兴时期:BitKeeper——Sun的内部管理工具,Linux的内核代码2002年也用这个工具,其实,很多开源工程都在用这个工具,2005年这个工具的东家BitMover对大家对BitKeeper逆向工程很不满,于是停止支持开源,于是出现了Git。
Git的第一个版本是Linux之父Linus Torvalds亲手操刀设计和实现的(据说只用了一个周末),Linus不仅仅给出一个原始设计(简单的、干净的、天才的),同时,他也用自己那独一无二的风格催生了这个项目(请参看: http://codicesoftware.blogspot.com/2007/05/linus-torvalds-on-git-and-scm.html 还是被墙)。
在Linus介绍Git的著名的演讲中,他强烈地批评(好吧,应该算是侮辱)了CVS,SVN,和Perforce:“Subversion是史上最毫无意义的项目,从项目开始就是这样了”,“如果你喜欢CVS,那么你现在应该在某个精神病研究中心或是别的地方”,“别在用Preforce了,它是十分糟糕和可悲的,这绝对绝对是真的”。无论是反对还是喜欢,Linus的确是改变了历史——中世纪已经过去了,现在的世界由分布式系统主宰,以及消除branch和merge的恐惧。
Git 基于 DAG 结构 (Directed Acyclic Graph),其运行起来相当的快。在Git发布后的来年,世界上所有的大型的开源项目全部从Subversion迁移到了Git上,www.github.com真是很大,这可能是这具星球上最强大最牛最酷的SCM系统了。Git可能并不是最简单的,但它一定会是未来十年的主流。(有空读读这本书——Git Internals
Mercurial (Hg) 第一次出现在2005年4月,也是因为BitKeeper不免费了。Hg可以和Git在一起使用,见:http://mercurial.selenic.com/wiki/HgGit。但是Hg和Git在设计上不一样,他们对提交/变更的概念是一样的,只不过Git用tree来实现,而Hg则是用扁平的文件和目录来实现(revlog),设计细节可参看:http://mercurial.selenic.com/wiki/Designhttp://mercurial.selenic.com/wiki/DeveloperInfo
Darcs (Darcs Advanced Revision Control System)是另一个让你摆脱Subversion和CVS的工具,2002年开始,今年是2.5版。它的优势是性能,以及他与众不同的历史版本管理——管理patches而不是snapshot(提交/修改),当然,这样一来,历史改变看上去很不好懂。
Bazaar (bzr) 是另一个开源的 DVCS,它试图给SCM的世界里带来一些新的东西。其由Canonical开发(Ubuntu的那个公司),在2008年成为GNU。
Plastic在2006年出现,强力地支持branch和merge,其还提供了强大的图示,包括3D的版本树,Plastic主要是为了让中等开发团队使用,介于大型的团队(ClearCase)和小型的团队(Subversion)之间。
Team Foundation Server (TFS),微软的新一代SCM工具,主要是为了VSS的失败负责,但是他还不是版本管理上还是很强,只不过,他集成了一大堆各种各样的工具,比如:issue tracking,test management等。
(全文完)
相关文章

评分

参与人数 1威望 +15 收起 理由
EnsignKim + 15 谢谢分享!

查看全部评分

回复  

使用道具 举报

2#
发表于 19-11-2010 12:24:25 | 只看该作者
靠,我客户坚持使用VSS
回复  

使用道具 举报

3#
发表于 19-11-2010 12:25:46 | 只看该作者
每次check in code 都是一天用VSS。
回复  

使用道具 举报

4#
发表于 23-11-2010 11:41:06 | 只看该作者
一直用CVS,很喜欢CVS,咋成古典和神经病了?最简单的就是最好的.
回复  

使用道具 举报

5#
 楼主| 发表于 23-11-2010 12:01:39 | 只看该作者
原帖由 niuzefeng 于 23-11-2010 11:41 发表
一直用CVS,很喜欢CVS,咋成古典和神经病了?最简单的就是最好的.
"最简单的就是最好的"只在比谁更简单这一项上成立,不过在这一项上CVS也不是最简单的,所以即使只比谁最简单,CVS也不是最好的。
这句话往往隐含的意思是:”最适合自己的就是最好的“,这就靠谱多了,当然,这句话中的”最适合“很多时候又隐含了”我只会“或者”我只想“用这个东西。所以,总体来说,就是个主观的论断,和客观的比较就不是一回事了。
回复  

使用道具 举报

6#
发表于 23-11-2010 20:26:07 | 只看该作者
我们公司就在用Clearcase
回复  

使用道具 举报

7#
发表于 24-11-2010 11:57:49 | 只看该作者
不就随意的小小的抱怨了一句,就给出这么一大段心理分析,偷棵白菜也拿炮轰? 说实话,有的时候在软件发展中出现了太多如浮云的时髦的各种概念,本人精力有限能力有限,又深受UNIX哲学影响,看着这些眼花缭乱的概念眼晕。

评分

参与人数 1威望 +50 收起 理由
coredump + 50 hehe,小样,轰的就是你

查看全部评分

回复  

使用道具 举报

8#
 楼主| 发表于 24-11-2010 12:16:43 | 只看该作者
原帖由 niuzefeng 于 24-11-2010 11:57 发表
不就随意的小小的抱怨了一句,就给出这么一大段心理分析,偷棵白菜也拿炮轰? 说实话,有的时候在软件发展中出现了太多如浮云的时髦的各种概念,本人精力有限能力有限,又深受UNIX哲学影响,看着这些眼花缭乱的概念 ...

不能这么懒滴,否则会越来越懒
回复  

使用道具 举报

9#
发表于 24-11-2010 17:16:26 | 只看该作者
在公司里主要用ECMS,倒是挺方便的。最近也接触过clear case,感觉不太好。merge代码的代价太高了。并且track change也不是那么直接。
回复  

使用道具 举报

10#
发表于 25-11-2010 02:40:17 | 只看该作者
用过clearcase 和VSS两种,前一个太复杂,而且BUG很多。
现在用VSS2005,感觉够用了。

CVS以前试过,比较难用,一开始无从下手, 放弃了
回复  

使用道具 举报

11#
发表于 25-11-2010 10:59:11 | 只看该作者
呵呵,建议楼主新开个投票,看看大家常有的代码控制系统都用那些,俺会坚定投CVS一票的。
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 29-4-2024 04:58 , Processed in 0.021266 second(s), 27 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表