软件工程课程设计报告-版本控制工具综述

导读:CVS在一段时期内几乎成为版本控制工具的“代名词”,被一些人誉为“迄今为止最好用的开源源码版本控制工具”,软件配置管理的概念开始提出,提出控制变更和配置的概念,开发了自己的配置管理工具CCC——这也是最早的配置管理工具之一,是基于单一文件的版本维护系统,SCCS是一种基本的程序源代码版本控制工具,它适用于任何正文文件的版本维护,SCCS基于单一文件的版本控制,通常它的软件储藏室和要维护的文件在

软件工程课程设计报告-版本控制工具综述

Versions System)和SVN(SubVersion)。CVS在一段时期内几乎成为版本控制工具的“代名词”,大概有着30多年的历史,而SVN是CVS的理想替代者,并出自同一人之手,被一些人誉为“迄今为止最好用的开源源码版本控制工具”。

2.1 “元老级”的CCC

CCC:Change and Configuration Control。在20世纪60年代末70年代初,软件配置管理的概念开始提出。20世纪七十年代初期加利福利亚大学的Leon Presser撰写了一篇论文,提出控制变更和配置的概念,之后在1975年,他成立了一家名为SoftTool的公司,开发了自己的配置管理工具CCC——这也是最早的配置管理工具之一。

2.2 RCS

RCS:Revision Control System。诞生于1980年,由WALTER.f.Tichy 于美国的在Indina州的 Purdue 大学开发,是基于单一文件的版本维护系统。

2.3 SCCS

SCCS:Source Code Control System。SCCS是一种基本的程序源代码版本控制工具,它适用于任何正文文件的版本维护。SCCS基于单一文件的版本控制,通常它的软件储藏室和要维护的文件在同一目录下. SCCS 工作时,有一个专门的SCCS 格式的文件保留其源文件的编码版本,其记录了足够的信息来生成新的版本,并记录了谁对文件有修改权,拥有该版本的”锁”。

2.4“新秀级”的Hansky Firefly

Hansky Firefly:作为H a n s k y 公司软件开发管理套件中重要一员的Firefly,可以轻松管理、维护整个企业的软件资产,包括程序代码和相关文档。Firefly是一个功能完善、运行速度极快的软件配置管理系统,可以支持不同的操作系统和多种集成开发环境,因此它能在整个企业中的不同团队,不同项目中得以应用。Firefly基于真正的客户机/服务器体系结构,不依赖于任何特殊的网络文件系统,可以平滑地运行在不同的LAN、WAN 环境中。它的安装配置过程简单易用,Firefly 可以自动、安全地保存代码的每一次变化内容,避免代码被无意中覆盖、修改。项目管理人员使用Firefly可以有效地组织开发力量进行并

行开发和管理项目中各阶段点的各种资源,使得产品发布易于管理;并可以快速地回溯到任一历史版本。系统管理员使用Firefly的内置工具可以方便的进行存储库的备份和恢复,而不依赖于任何第三方工具。

2.5“入门级”的Visual SourceSafe(开源集中式)

Visual SourceSafe:微软的版本控制工具,仅支持Windows操作系统。虽然简单好用,但是仅适用于团队级开发,不能胜任企业级的开发工作。

Visual SourceSafe是一种源代码控制系统,它提供了完善的版本和配置管理功能,以及安全保护和跟踪检查功能。VSS通过将有关项目文档(包括文本文件、图象文件、二进制文件、声音文件、视屏文件)存入数据库进行项目研发管理工作。用户可以根据需要随时快速有效地共享文件。文件一旦被添加进VSS,它的每次改动都会被记录下来,用户可以恢复文件的早期版本,项目组的其他成员也可以看到有关文档的最新版本,并对它们进行修改,VSS也同样会将新的改动记录下来。你还会发现,用VSS来组织管理项目,使得项目组间的沟通与合作更简易而且直观。

VSS可以同Visual Basic、Visual C++、Visual J++、Visual InterDev、Visual FoxPro开发环境以及Microsoft Office应用程序集成在一起,提供了方便易用、面向项目的版本控制功能。Visual SourceSafe可以处理由各种开发语言、创作工具或应用程序所创建的任何文件类型。在提倡文件再使用的今天,用户可以同时在文件和项目级进行工作。Visual SourceSafe面向项目的特性能更有效地管理工作组应用程序开发工作中的日常任务。

为了更好的了解VSS,有必要对如下一些概念给予说明。

1.VSS中的文件

当你要修改某个文档时,需要先从数据库中将它签出(check out),或者告诉VSS你要编辑该文档。VSS会将该文档的副本从数据库中拿到你的工作文件夹(working folder)中,你就可以修改你的文档了。如果其他用户再想对同一文档进行修改,VSS会产生一个信息,告诉他该文档已被签出(check out),从而避免多人同时修改文档,以保证文档的安全性。

当你完成修改之后,需要将文档签入(check in)VSS。这个操作从你的工作文件夹(working folder)中复制被你修改的文档,并将它放回VSS数据库,以便其他用户能够及时看到文档的改动。VSS能够保存文档的所有改动,并显示最新版本,同时早期版本也会被跟踪记录下来。VSS对反增量技术的运用,仅需要用很少的磁盘空间就能使得用户获取文档的所有版本。

如果你没有修改文档,你可以执行撤消签出(undo check out)命令,文档

将被保存为被签出(check out)之前的状态。

如果你只需读取某一文档而并不需要编辑它,你可以执行取出(get)命令,将文档放入你的工作文件夹,再选择查看文档(view),来查看你的文档的最新版本。

2.VSS中的项目

项目(project)是指用户存储在VSS数据库中的所有文件(file)的集合。用户可以在项目之间或项目内部实现文件的添加(add)、删除(delete)、编辑(edit)、共享(share)。一个“项目(project)”在很大程度上类似于一个普通系统的的文件夹,不同的是它能更好地支持文件合并(merge)、跟踪(archive)和版本控制(version control)功能。

文件保存在VSS数据库中的项目(project)里。你无须管理存储在VSS中的文件正本,除非你要检查或与其它拷贝进行比较。

VSS为每一位用户提供了一份备份文件放入工作文件夹(working folder),供用户对文件进行查看与编辑。尽管没有工作文件夹也可以查看文件,但要想真正实现对文档的处理,必须建立工作文件夹。

3. VSS的版本控制功能

VSS能够保存文件的多个版本,包括文件版本之间每一处微小的变动。版本控制有以下几方面的内容:

? 组内合作——在缺省的情况下,一般一个文件在某一时间只允许一个用户对其进行修改,这样可以防止文件意外地被其他用户改动或者覆盖。但管理员可以改动这种缺省的设置,允许文件多层签出。这种设置也能防止过多的、不必要的改动。

? 版本追踪——VSS能够对源代码和其他文件进行存储和早期版本的追踪,从而实现重建文件早期版本等有关功能。

? 跨平台开发——在多平台开发的情况下,版本追踪用于维护核心代码。 ? 代码的再使用—— 追踪程序基准使得代码可重用。

4. 文件的拆分和共享

在VSS中可以实现一个文件被多个项目共享(share)。在一个项目中对文件的改动可以自动反映到其他共享的项目中去。这正提倡了代码重用。在file菜单中的properties中,点击link,可以查看某一文件的共享情况。

拆分(branch)是将文件从原来共享的项目中分离出来的过程。它使得VSS可以实现从不同的路径追踪文件。

注意:在其他版本控制系统中,分支是通过跟踪版本号来实现的。例如:版本“2.3.9.2”是版本2.3的第二个修订版本的第九个分支。而VSS通过明显不同

的项目名称实现对文件分支的跟踪。

拆分文件就断开了共享连接,使得本项目中的文件与其他原来共享的项目无关。对此文件的修改将不会再反映到其他项目上。拆分是这样被建立的:两个文件以前有着共同的历史记录,从实现拆分开始,他们的历史记录将被VSS分别追踪。

拆分文件之后,link按纽将不再显示已断开的连接,但你可以用path(file菜单中的properties项)按纽浏览拆分的历史记录。

共享(share)文件就是在多个项目间建立文件的连接。拆分(branch)文件就是在项目之间建立了不同的文件路径。

5. 工作文件夹(working folder)

VSS是存储和管理文件的工具,但是编辑和编译文件必须在VSS指定文件夹中进行。这个文件夹叫工作文件夹,它可以是现存的文件夹,也可以是VSS新建的文件夹。VSS浏览器在文件列表上方显示了文件的工作文件夹的路径。

在VSS系统中,工作文件夹才是你真正用于处理文档的地方。当你要编辑或修改某个文档时,必须对文档实施check out 操作,VSS将该文档从项目中拷贝出来,放入你的工作文件夹。当你修改完毕并check in文件之后,VSS又将文件重新拷贝到数据库中以记录你的修改。

一旦你将文件签出,VSS就开始在你的本地机上创建并管理你的工作文件夹。 每一个用户、每一个项目或每一台微机都可以有自己的工作文件夹。如果Joe在项目$/SpreadSheet和$/WordProcessor上工作,他就有相应的2个不同的工作文件夹。如果Hanna在同样的项目上工作,对于每一个项目她又有自己的工作文件夹。当你为某个项目设置了工作文件夹,你可以用它来放置你该项目中包括子项目在内的所有文件。

2.6“中坚级”的Clearcase (闭源集中式)

Clearcase:IBM旗下Rational公司(2003年被IBM收购)的一款重量级的软件配置管理(SCM, Software Configuration Managemen)工具。与CVS和VSS不同,Clearcase涵盖的范围包括版本控制、建立管理、工作空间管理和过程控制。从最初的软件配置计划,到配置项的确立,从变更控制到版本控制,Clearcase贯穿于整个软件生命周期。 Clearcase支持现有的绝大多数操作系统,但它的安装、配置、使用相对较复杂,并且需要进行团队培训。

ClearCase的核心功能是版本控制,它是对在软件开发进程中一个文件或一个目录发展过程进行追踪的手段。ClearCase对所有文件系统对象(包括文件、目录和链接)增强了版本控制系统功能。可定版本的文件包括源代码、可执行文

五星文库wxphp.com包含总结汇报、外语学习、行业论文、IT计算机、计划方案、考试资料、资格考试、word文档、旅游景点、人文社科以及软件工程课程设计报告-版本控制工具综述等内容。

本文共6页123456