技术开发 频道

配置管理双枪将VSS+SOS

【IT168 技术文章】

   说起VSS,接触过的人应该不少。尤其是用用VC和VB做开发的人,绝大多数人应该都接触过和使用过VSS。VSS小巧精干,和VS开发工具集成极为紧密,就算不使用专门的配置服务器,直接在自己的开发用机上安装一个VSS,也能在代码管理方面方便不少。SOS在上一章中已经做了介绍,这一章将详细介绍之。

   VSS概念 

   也许正因为VSS简单易用,在大多数人眼里,VSS似乎都只是一个玩具,难登大雅之堂,最多能管管自己的代码,要用团队开发中,那似乎是不可能的。刚接触VSS时,我也是抱着差不多的想法,觉得要用VSS作为一个较大的项目的配置管理工具完全不可能,但随着对VSS研究的深入,加上在工作中也使用了其它一些配置管理工具,如CVS、ClearCase、CCC harvest等工具,反过来比较,反而觉得VSS有它独到的地方。关于VSS和其他配置工具的比较,在google上搜索的话应该能找到一大堆,我这里给出几个对我来说印象最深刻的VSS的优势:

   1、 VSS操作使用简单;要在配置管理工具中评选“最平易近人奖”,那一定非VSS莫属。VSS中包含了配置管理需要的全部操作,但应用起来却非常简单,首先是全部操作都可以通过GUI完成,如Check In/Check Out操作、Get Latest等基本操作;Label、Share、Branch、Merge等高级操作;其次是VSS和开发环境集成紧密,在开发环境的IDE中就可以方便地完成操作;

   2、 VSS对硬件配置要求不高;作为一个工作组级别的配置管理工具,在我们的项目中,安装VSS的配置服务器是一台P4 2.2G/512M RAM/30G×4 Disk的HP PC服务器,这样的条件下VSS运行已经足够稳定和快速,相比起CC和CCC harvest的要求,这部分的投资是很小的;如果再考虑到CC和CCC都运行在Unix平台上需要的维护费用,当然是VSS更加划算了;

   3、 VSS几乎是免费的;只要购买了VS开发工具,就能免费使用VSS;

   4、 VSS备份/恢复非常简单;只需要通过拷贝——覆盖就能完成VSS的备份/恢复工作,你说简不简单?:)

   5、 有良好的可扩展性;通过VSS的自动化接口(Automation),可以自己写程序来完成对VSS库的访问,也正是基于这点,目前市面上已有一些VSS的扩展工具出现,我们在本章要讲的就是其中之一——Sourcegear的SOS。

   说了这么多优点,当然不是说VSS就只有优点,和其他的配置管理软件比起来,VSS也有一些不足之处:主要表现在以下几点:

   1、 缺乏对Unix的支持(没有Unix上的客户端或者服务器,这是微软的一贯作风);

   2、 不支持远程访问方式(只能通过第三方的扩展工具实现);

   3、 支持的配置数据库大小建议不超过5G,因此需要良好地规划备份等工作;

   关于VSS的操作和应用,建议在网上找找VSS的教程,写得比较详细的有不少,都可以参考。在这里我只是非常概括地介绍一些VSS的基本概念:

   Project:VSS中类似于文件夹的概念,一个Project可以包含多个File,同时Project也是VSS中权限分配的最小单位,一个Project下可以包括其他Project;

   File:VSS中的最小管理单位,VSS中的每个File对象对应操作系统上的一个文件,多个File可以属于一个Project;

   Working Folder:和VSS的Project对应的本地文件夹。Working Folder是Get到的Project和File的存放目录,同时也是执行Check In/Check Out操作时的缓存文件夹;

   Get (Latest):Get操作可以获取指定的Project和File的某个版本,常用操作是Get Latest操作,获取Project和File的最新版本;

   Version:对VSS来说,一次Check In操作就为被Check In的Project或者File增加了一个版本(在文件没有修改的情况下,Check In操作不生成新的版本)。VSS中的File版本从1开始编号,每次新版本在原有版本上加1;Project的版本没有编号;

   Label:Label是配置管理中常用的一个操作,Label可以作为配置项某个状态的标识;

   Share:Share可以用于协作开发的模式,通过Share,可以在两个或多个不同的Project之间共享下层的Project或是File,对其中一个位置的File进行的修改会反映到其他位置的File(类似于Unix的ln的方式);

   Branch/Merge:Branch和Merge可以用于并行开发的过程。

   SOS(SourceOffSite)软件介绍

0
相关文章