`
liuxinglanyue
  • 浏览: 565477 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

版本管理器的发展史

阅读更多

以前本站发布过编程语言进化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/Design和 http://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等。

(全文完)

转:http://coolshell.cn/articles/3288.html

分享到:
评论

相关推荐

    X86处理器发展史

    ### X86处理器发展史详解 #### Intel 8086:奠定基础 - **发布时间**:1978年 - **核心频率**:4.77MHz - 10MHz - **晶体管数量**:29,000 - **特色**:作为Intel首款真正意义上的16位处理器,8086开启了X86处理器...

    UNIX发展史 原创:孟晓亮

    ### UNIX发展史重要知识点 #### 一、UNIX的起源与早期发展 - **起源与第一个版本**:UNIX操作系统的历史始于1969年,由肯·汤普森(Ken Thompson)在AT&T贝尔实验室开发的第一个版本。这个版本运行在DEC PDP-7...

    oracle概述,发展史

    这些版本的发布不仅增强了系统的稳定性和性能,还不断引入了新技术,如面向对象的开发、对Internet的支持、网格计算和信息生命周期管理等。 Oracle数据库是一个全面集成的互联网应用技术平台,它支持大型数据库和多...

    质量管理标准发展史.pptx

    这一版本引入了质量管理的八大原则,包括以顾客为中心、领导力、全员参与、过程方法、系统管理、持续改进、基于事实的决策以及与供应商的互利关系。 ISO/TS 16949:2002是针对汽车行业的特定补充,由IATF(国际汽车...

    组态软件的发展史.pdf

    组态软件的发展史 组态软件,又称监控组态软件,译自英文 SCADA,指的是Supervision, Control and Data Acquisition,即数据采集与监视控制。组态软件的应用领域很广泛,包含电力系统、给水系统、石油、化工等领域...

    计算机发展史完整版本.ppt

    计算机发展史是一部技术创新与科技进步的历史,它展示了人类智慧在解决计算问题上的卓越成就。自20世纪40年代以来,计算机经历了多个阶段的演变,从庞大的电子管机器到现今的微处理器驱动的智能设备。 “ENIAC”是...

    PythonPython版本发展史

    自20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。 1995年,Guido van Rossum在弗吉尼亚州的国家创新研究公司(CNRI)继续他在Python上的工作,并在那里发布了该软件的多个...

    质量管理标准的发展史.pptx

    质量管理标准的发展历程可以从1979年开始追溯,当时ISO/TC176(质量管理和质量保证技术委员会)成立,标志着质量管理标准化工作的启动。1987年3月,ISO9000系列标准首次发布,这是一套全球广泛认可的质量管理框架。...

    Windows发展史.doc

    《Windows发展史》 ...每一个新版本的发布,都伴随着硬件升级的需求和用户需求的满足,这是Windows发展史的重要特征。随着时间的推移,Windows不断进化,逐步形成了我们今天所熟知的、功能丰富的操作系统。

    Java发展史概述

    本文将深入探讨Java的发展历程、关键版本、重要特性以及它在现代技术栈中的地位。 Java的诞生始于1991年,当时由James Gosling在Sun Microsystems领导的团队开始研发。最初命名为Oak,后因商标冲突更改为Java。1995...

    Linux发展史与家谱

    Linux的发展史不仅仅是技术进步的见证,也是开源精神和社区协作力量的生动体现。 Linux的发展可以分为几个关键阶段。初期,Linus Torvalds出于个人兴趣,为了在自己的个人电脑上运行Unix-like系统,开始了Linux内核...

    操作系统发展史.pdf

    总结来说,操作系统的发展史展示了从早期的CP/M到DOS,再到更现代的Windows操作系统之间的演变。这些早期的系统奠定了现代操作系统的基础,如内存管理、文件系统和用户界面的设计理念,它们对整个IT行业的影响至今仍...

    美元发展史.doc

    本文将详细梳理美元的发展史,并分析其背后所反映的美国经济和货币政策的变化。 在殖民地时期,1690年马萨诸塞殖民地为了支持军事行动首次发行了货币。当时的货币制作工艺简陋,防伪能力低,导致伪钞问题严重,加之...

    轻松了解php发展史

    PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域中...无论是初学者还是经验丰富的开发者,了解PHP的发展史都能更好地理解和利用这种语言,为Web开发带来更多的可能性。

    AUTOcad发展史.doc

    《AutoCAD发展史》 AutoCAD,作为计算机辅助设计(CAD)软件的代表,自诞生以来,一直在全球范围内引领着CAD技术的发展。它的历史可以追溯到20世纪60年代,那时CAD技术尚处于起步阶段,主要由大型企业和研究机构如...

    操作系统发展史.doc

    总的来说,CP/M和DOS是操作系统发展史上的重要里程碑。CP/M开创了微机操作系统的先河,而DOS则通过与IBM PC的结合,确立了个人计算机操作系统的标准,为后来的Windows和其他操作系统奠定了基础。这两个系统的发展...

    windowMACOS发展史.pptx

    从早期的简单图形界面到如今的多功能操作系统,这两个平台的发展史不仅是科技的进步,也是人类创新精神的体现。无论是对于软件开发者还是普通用户,了解这些历史都能帮助我们更好地理解当前的技术环境,并为未来的...

    操作系统发展史.pptx

    Windows 95以其先进的图形用户界面、32位多任务处理、内建的Internet支持、即插即用硬件支持、32位线性寻址和向下兼容性等特性,成为了计算机发展史上的一个重要里程碑。 1998年的Windows 98进一步强化了对互联网的...

    windows视窗操作系统发展史.docx

    ### Windows视窗操作系统发展史 #### 一、起源与初步发展(1985-1990) - **1985年11月20日**:微软正式发布首个Windows版本,即Windows 1.0。这个版本最初是为了MS-DOS系统提供一个更加友好的图形用户界面而设计...

Global site tag (gtag.js) - Google Analytics