专业的软件开发需要对在开发过程中每一应用程序的源代码修改的管理进行流水线处理。Microsoft_ Visual SourceSafe?记录了系统、项目和文件级修改的历史记录,允许你安全的在多个程序员之间分配开发工作,跟踪修改信息,并恢复个别文件或整个应用程序的早期版本。
简介
代码是宝贵的资源。为了保护它,很多开发者应用一些版本控制系统以保护文件避免未授权的修改和意外的错误。这些系统有很多种,从有关程序注释的更改和存储旧版本的君子协定到自动跟踪修改和历史记录的复杂的软件系统都有。
大多数来源控制系统对于单独的源文件是有效的。但是,它们几乎全部不能在文件间建立关系。这在Microsoft Windows的环境中将引起问题,因为在该环境中,一个应用程序可以包含多个可执行文件和由许多不同的源文件建立的动态连接库,它们有可能在很多其它应用程序中重复使用。当今,管理源文件间的关系和保护源文件的内容本身同样重要。
Microsoft Visual SourceSafe 版本控制软件通过将项目管理的任务和源代码的控制结合起来,解决了这个问题。以注重在管理源文件的同时管理项目,Visual SourceSafe提供了对该问题的的解决方案,是用标准的、面向文件的来源控制系统不易实现的。
软件开发流水线
为了理解面向项目的来源控制的优点,仅需将它和面向文件的系统进行一下比较。一个标准的版本控制系统(例如,UNIX工具RCS)必然是一组用于操作独立的文件、控制文件访问和更新并与早期版本比较的工具的集合。为了操作一组文件,你需要编写一个批文件或在命令行指定通配符。
Microsoft Visual SourceSafe将文件存储在网络的中心数据库中,而不是在一个普通的DOS目录中。在系统级,该数据库表现为一个“黑盒”。但是,当以Visual SourceSafe为视图时,可以看到该数据库中包含了你的组织到项目分层结构中的所有源文件和历史记录。
当你检索一个文件时,Visual SourceSafe将在数据库中标记该文件为签出,然后允许你在你的机器上对该文件进行修改。当你将该文件放回时,Visual SourceSafe更新它的数据库并重新修改你的机器对文件的访问权限为只读。
然而,这和面向文件的来源控制有什么不同呢?
对于每一个改变,Visual SourceSafe数据库记录并追踪那些对于面向文件的系统不可用的项目信息。每当文件被加入,修改,共享,移动,或从项目中删除,Visual SourceSafe将同时更新文件和项目的历史记录。你可以应用项目历史记录来简化这些工作:
在连编前浏览指定项目及其全部子项目中所有文件的状态。 ? 缩小那些由于在某一日期联编可能引起错误的指定文件的改变信息。
重新生成所有应用程序的前一版本。
维护被许多不同应用程序共享的源文件。
确定哪一个项目将由于改变被多个不同应用程序共享的文件而受到影响。
管理通用应用程序的特定客户版本。
对于软件开发人员来说,试图通过面向文件的系统来完成这些工作,将是令人难以忍受的琐碎且无益的。正如下述的方案所阐述的那样,Visual SourceSafe面向项目的版本控制通过直接进行这些工作,将开发过程流水线化了。
为连编做准备
假定你将连编一个包含了很多独立的部件的主应用程序。在你开始连编之前,你希望确认没有人在后的时刻修改代码,并且在版本控制过程中,整个系统没有文件被签出。
一个标准的版本控制系统提供给你一个确定文件是否签出的工具。你的工作是对将用来连编的每一个目录中的每一个文件运行该工具。尽管引入批处理文件和通配符将使任务简单些,但面对一个复杂的系统时,仍然是非常繁琐的。
正如其它系统一样,Visual SourceSafe可以确定一个文件是否被签出。但它还可以创建一个高层的报告:一个项目中所有签出文件的列表。这一特性应用在当前项目中循环包含所有子项目时功能尤其强大。Visual SourceSafe检查每个相关项目中的每一个文件并生成签出文件的列表。你可以立即知道是否可以进行连编(或如果你不能时该找谁)。仅需在项目文件中执行一个命令,Visual SourceSafe可以自动完成以前冗长的需手工完成的工作。