版本控制是工作组软件开发和文档管理中的重要方面,它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和文档管理中如果需要比较两种版本的文件或找回早期版本的文件时,版本控制是非常有用的。
现在,有很多优秀的版本控制工具供我们选择,下面就四种主流的版本控制工具做简单的介绍。
PVCS Version Manager
是美国的MERANT公司软件配置管理工具PVCS 家族中的一个组成部分,它能够实现源代码、可执行文件、应用文件、图形文件和文档的版本管理;它能安全地支持软件并行开发,对多个软件版本的变更进行有效的控制管理。
ClearCase(CC)
是ROSE构件的一部分,目前最牛的配置管理工具,主要应用于复杂的产品发放、分布式团队合作、并行的开发和维护任务。可以控制Word, Excel,Powerpoint,Visio等文件格式,对于不认识的格式可以自己定义一种类型来标识。
Visual SourceSafe(VSS)
简单易用、方便高效、与Windows操作系统及微软开发工具高度集成。
CVS(Concurrent Versions System)
是开发源码的并发版本系统,它是目前最流行的面向软件开发人员的源代码版本管理解决方案。它可用于各种平台,包括 Linux 、Unix和 Windows NT/2000/XP等等。
其中PVCS VM、CC和VSS是重量级的商业版本控制工具,更适合庞大的团队和项目,并且价格不菲。Visual SourceSafe是微软的产品,当然只能用在windows平台并与微软的开发工具无缝集成。CVS免费开源,并且几乎所有开源项目都是使用CVS进行版本管理,无疑,它是我们Java开发者最优选择。
PVCS VM(版本管理)
是软件配置管理工具PVCS 家族中的一个组成部分。软件配置管理可以使软件开发队伍中的任何成员以一致,可重复的方式随时找回和创建应用的任何版本。
VM详细记录了一个软件系统的所有变更,包括谁做了修改,什么时候,和为什么修改。通过VM,你可以轻易地找回任何先前的修订版本,并且确信这些文件不是被忽略重写的。当你检出一个文件时,VM将阻止其他用户对该文件的修改。
通过VM,开发小组成员可以:
- 建立配置文件,能够为所有用户提供一套相同的特征,或者为不同项目提供不同的特征。
- 使用VM 特权设置每个用户的访问级别,以防止对文件和版本管理命令的未认证访问。
- 重建任何文件的任何修订。可以快速而容易地回到任一工 作文 件的先前修订。
- 用版本锁定来阻止其他用户对文件的修改,以及防止当文件更新时所造成的损失。
- 软件开发中的并行线称为分支。VM可以追踪分支并且保持开发的独立进行,这样你就可以在不影响主线的情况下跟随开发的另一线。
我们应用这个源码控制系统,对任何源码的更新过程,开发人员都必需遵循下面所列出的步骤:
1、先要检出源码:开发人员需要从PVCS VM服务器上向本地工作目录中检出要进行修改的原始文件。
2、修改本地的工作源文件:开发人员在本地工作目录中修改原始文件并在本机上测试。
3、为更新数据检入修改的源文件:使用“check in”命令将修改的源文件从本地工作目录更新到PVCS VM服务器中。
ClearCase
ClearCase主要应用于复杂的产品发放、分布式团队合作、并行的开发和维护任务,包括支持当今流行软件开发环境Client/Server网络结构。在激烈的市场竞争中,ClearCase的特点直接响应了软件团队的需求,如:软件生产、发布、维护等。
ClearCase在某些方式上和其它的软件配置管理系统有所不同,从本质上,ClearCase是无可比拟的,因为它包含了一套完整的软件配置管理工具而且结构透明、界面可亲。虽然ClearCase是一个可集成使用的环境,但实际上我们仍可以把ClearCase的所有特性划分为四个具体功能范畴。
Version Control
ClearCase自动追踪每一个文件和目录的变更情况,通过分支和归并功能支持并行开发。在软件开发环境中,ClearCase可以对每一种对象类型(包括源代码、二进制文件、目录内容、可执行文件、文档、测试包、编译器、库文件等)实现版本控制。因而,ClearCase提供的能力远远超出资源控制,并且可以帮助团队,在开发软件时为他们所处理的每一种信息类型建立一个安全可靠的版本历史记录。
Workspace Management
ClearCase给每一位开发者提供了一致性、灵活性和工作空间域(有时也称为"Sandboxes")可重用的功能。ClearCase采用一种称为View的创新技术,它可以选择所指定任务的每一个文件或目录的适当版本,并呈现它们。View可以让开发者在资源代码共享和私有代码独立的不断变更中达到平衡,从而使他们工作更有效。
Build Management
ClearCase自动产生软件系统构造文档信息清单,而且可以完全、可靠的重建任何构造环境。ClearCase也可以通过共享二进制文件和并发执行多个建立脚本的方式支持有效的软件构造。
Process Control
ClearCase有一个灵活、强大的功能,可以明确项目设计的流程。自动的常规日志可以监控软件被谁修改、修改了什么内容以及执行政策,如:可以通过对全体人员的不同授权来阻止某些修改的发生,无论任何时刻某一事件发生应立刻通知团队成员,对开发的进程建立一个永久记录并不断维护它。
VSS
VSS(Visual Source Safe)是微软随同Visual Studio一起推出的版本控管软件,是一种源代码控制系统,它提供了完善的版本和配置管理功能,以及安全保护和跟踪检查功能。VSS通过将有关项目文档(包括文本文件、图象文件、二进制文件、声音文件、视屏文件)存入数据库进行项目研发管理工作。用户可以根据需要随时快速有效地共享文件。文件一旦被添加进VSS,它的每次改动都会被记录下来,用户可以恢复文件的早期版本,项目组的其他成员也可以看到有关文档的最新版本,并对它们进行修改,VSS也同样会将新的改动记录下来。你还会发现,用VSS来组织管理项目,使得项目组间的沟通与合作更简易而且直观。
VSS可以同 Visual Basic、Visual C++、Visual J++、Visual InterDev、Visual FoxPro 开发环境以及 Microsoft Office 应用程序集成在一起,提供了方便易用、面向项目的版本控制功能。Visual SourceSafe 可以处理由各种开发语言、创作工具或应用程序所创建的任何文件类型。在提倡文件再使用的今天,用户可以同时在文件和项目级进行工作。Visual SourceSafe 面向项目的特性能更有效地管理工作组应用程序开发工作中的日常任务。
当你要修改VSS中某个文档时,需要先从数据库中将它签出(check out),或者告诉VSS你要编辑该文档。VSS会将该文档的副本从数据库中拿到你的工作文件夹(working folder)中,你就可以修改你的文档了。如果其他用户再想对同一文档进行修改,VSS会产生一个信息,告诉他,该文档已被签出(check out),从而避免多人同时修改文档,以保证文档的安全性。
当你完成修改之后,需要将文档 签入(check in)VSS。这个操作从你的工作文件夹(working folder)中复制被你修改的文档,并将它放回VSS数据库,以便其他用户能够及时看到文档的改动。VSS能够保存文档的所有改动,并显示最新版本,同时早期版本也会被跟踪记录下来。VSS对反增量技术的运用,仅需要用很少的磁盘空间就能使得用户获取文档的所有版本。