- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
当前流行源代码管理工具介绍
人们在软件开发的最初阶段,往往借助于电子表格、白板和发布工程师(Release Engineer,在软件开发过程中跟踪软件版本发布信息的软件工程师)在软件开发过程中进行协调工作。发布工程师往往需要从一个地方跑到另一个地方,来跟踪开发者在进行哪个模块的开发,以及哪些bug修复、发现和引入。不用说,这个过程充满了问题和错误。因此,源代码控制管理系统(Source Control Management,SCM)应需而生。 ??? 源代码控制管理系统是为软件开发团队准备的一套软件,通过它可以实现团队成员之间的协作和服务。???? 从其可以实现的最基本的功能来说,SCM提供文本管理和版本控制功能,这样团队成员不会互相改写对方的修改,只有最新版的文件被标记为操作使用中。但这只是基本功能。源代码控制系统还让开发者可以同时操作同一个文件,合并其他开发者所做的修改,跟踪并审计要求和已做出的修改,跟踪漏洞修复状态和执行发布。???? 在某些情况下,源代码控制系统还可以包含其他组件,来帮助开发者管理一个软件的整个生命周期的过程。源代码控制系统和应用程序生命周期管理系统之间的区别实际是一个语义上的不同,反映了系统中提供的工具的完全性。???? 2007年春天,著名调查公司Evans Data公司调查了不同源代码控制系统的用户。这些用户被要求对他们使用的源代码控制系统进行打分,打分从“优秀”到“尚需改进”。只有那些真正用过这些产品的IT经理和开发者对它们进行打分,而且他们只对当前正在使用的工具进行打分。此外,用户还要求根据一些属性的重要性进行打分,从而得出一个真正的评价。???? 在对这些源代码控制系统进行调查的过程中,可以很清楚地看到,每一个产品都有自己的内容、自己的吸引人的地方和缺点。
来自专有公司的源代码管理系统
图1:Borland的StarTeam
??? 来自Borland的StarTeam在这个分类评测中夺魁,它在好几个标准上可以让用户满意,其中包括文件管理、合并跟踪信息、执行发布、登入/登出速度、管理费用、漏洞跟踪、产品关联和服务器使用率。此外,StarTeam的用户在所有的分类中将其评为前三,给了它很高的分数。但是,StarTeam的市场份额比较低,Borland曾经闻名一时的市场力量已经衰落,而且公司的稳定性最近也受到了质疑。
图2:Perforce公司的SCM工具
??? 形成对比的是,Perforce是一个在公司历史中一直专注致力于开发源代码管理系统的公司。Perfoce的用户对产品的变更管理功能给了很高的评价,同样的还有产品的安全功能,它依靠LDAP或活动目录来进行验证和执行,这提供了认证的一种简便的方式,尽管它不如分层加密那样牢不可破。Perforce由开源数据库Ingres团队的成员创建,其不寻常之处在于它在软件中包含自己的数据库,而不是整合一个现有的数据库。Perforce可以被应用在小公司和大公司中,但它的主要目标用户是那些具有中等复杂度配置的开发团队的公司。
图3:IBM的ClearCase
??? IBM的ClearCase的情况和Perforce有些相似,也具有悠久的历史,并提供一些优先的功能。但是和Perforce一样,这个源代码管理系统创建在一个地理位置分散的团队,团队成员不常见面的时候,因此它在集中化的紧密控制的开发环境中才能最大发挥它的作用。ClearCase与Rational、之前的Pure软件有着很深的渊源关系,这两个公司都以专注于质量而闻名。???? ClearCase的专有数据库也被嵌入在这个产品中,它提供内在的数据库,但是它也支持外部的数据库。一点不令人吃惊的是,这个产品支持统一变更管理(Universal Change Management,UCM),这是Rational Unifed Process应用程序生命周期技术的一部分。在文件、变更管理以及执行发布方面,Clearcase被它的用户打了高分。???? 像PVCS和本篇文章中提到的大多数源代码控制系统一样,ClearCase支持原子提交(atomic commits)变更集(changesets)。这些功能非常重要,可以保持相同版本中相关文件和在代码库中维持一致稳定性。事实上,变更集(changesets)定义了相关联的文件,在这些文件中,任何修改都将影响其他的文件。原子提交(Atomic commits)把变更集看作一个离散的单元;它们允许修改过的文件被登入,前提是所有变更集中的文件同时也被登入。这儿的原子不是取其爆炸的意思,而是希腊语中的“不可分割”的意思,这是事务处理技术中的一个重要的概念,这是一个重要而且被人期盼的功能。
开源世界中的源代码管理系统
图4:开源Subversion
???
您可能关注的文档
最近下载
- 《工程项目管理》世纪大桥.docx
- 常见的颈椎病的诊断与鉴别诊断.ppt
- 深度学习及其应用(复旦大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 安徽省合肥市庐江县2023-2024学年九年级上学期期末考试物理试题(含答案).docx VIP
- 基于机器学习的电商评论分析.docx
- 六年级上册数学北京版期末检测(B)(含答案).docx VIP
- 六年级上册数学北京版期末检测(A)(含答案).docx VIP
- 2023-2024学年安徽省合肥市庐江县九年级上学期期末考试物理试题.docx VIP
- 2023年CDN项目可行性研究方案.docx
- 北京丰台2024-2025学年数学六上期末综合测试试题含解析.doc VIP
文档评论(0)