SourceSafe中的权限管理[zz]

http://www.net118.com/article/2004216170304.htm
前言

  如今随着软件项目规模的日益增大以及项目复杂性的不断加剧,软件配置管理(SCM)的重要性已越来越受到大家的认可。许多优秀的软件配置管理工具也应运而生,使得我们能够轻松有效地管理我们的软件项目,作为这其中的一员,Microsoft Visual SourceSafe具有简单易用、方便高效、与Windows操作系统及微软开发工具高度集成等优点。今天,我们就来讲讲VSS中的权限管理。

  首先我将讲解VSS中权限机制实现的原理,这里面设计到VSS的默认安全访问机制、项目安全等内容,接着我将告诉实现权限机制的具体方法,最后我将结合一个软件移交项目的具体情况来谈谈权限管理如何应用到实际的项目过程中。

一、VSS默认的安全访问控制

  每次你安装VSS以后,系统自动激活默认的安全访问控制机制。这套机制非常简单,它包括两个等级的权限:

  1) 只读权限:用户可以查看VSS数据库中的所有对象,但是不能够修改

  2) 读写权限:用户可以查看和修改VSS数据库中的任何对象

  每次你增加新用户的时候,你可以决定该用户的权限等级。在“Add User”对话框中包含一个“Read Only”复选框,你可以通过它来确定用户具有的权限。

  我们前面说过这只是个极其简单、粗线条的解决方案,但同时也是最简单的。在实际过程中,你可能需要更细化的权限分配,甚至希望每个文件针对不同的用户都能设置不同的权限。那我们就得亲自动手设置我们项目的安全机制。

  注意:SourceSafe中的所有安全设置都是在Visual SourceSafe Administrator中进行的,所以在深入以下细节之前,你必须确认一件事情:你的Admin密码足够安全,除你之外没有任何人可以随心所欲地进入Visual SourceSafe Administrator。否则,一切安全考虑都是徒劳。

二、项目安全与用户访问权限

  在讲解项目安全之前我们先来回顾一下VSS的基本组成框架,VSS包含多个数据库(database),每个数据库又包含许多的项目,而且可能项目里嵌套着不同的子项目,最后才是你的源文件。你可以把这个类比成操作系统中的磁盘分区,目录,子目录,文件,每台机器包含许多的磁盘分区,每个分区中包含无数个目录、子目录,在子目录下才是你的文件。VSS中的用户是基于VSS数据库的,也就是说每个数据库都包含有自己的用户清单。用户访问权限意思是用户可以访问(包括查看、修改和执行命令等)数据库中的哪些项目,对项目来说就是它只能被那些已经授权的用户访问,也就是所谓的项目安全。

  很遗憾VSS只提供了到项目(对应于目录)的用户权限控制,并不能针对每个文件来设置不同的用户访问权限(比如Rational ClearCase等就提供此功能)。虽然你可以用某种变通的方法来做到这一点,比如增加子项目,不过那样就破坏了整个项目结构的规范性、可读性和合理性,甚至产生些无任何意义的子项目。

  VSS定义了四级用户访问权限,级别由低到高,后者包括所有前者的权限,比如说拥有Check Out权限就自动拥有了读的权限。

  1) 只读(R):允许查看文件,对应于View、Get等命令

  2) Check Out(C):可以使用Check Out,Check In,Undo Check Out等命令修改文件内容

  3) 文件增删(A):可以在项目中增加、删除、重命名文件或者给文件加标签,对应的命令有Add,Delete,Label,Rename等

  4) 破坏(D):这级权限对应于那些具有巨大破坏性的操作(就是那些一不小心就可能被炒鱿鱼的操作),请牢记它们的名字:Destroy,Purge,Rollback。所以亦有人戏称之为自杀权限。

  其实你可以发现默认安全机制中的两级权限是和这四者对应起来的,只不过后者把前者的读写权限细分为三个不同的级别。好啦,了解每级权限各自的含义之后我们就可以开始设置不同用户的权限啦。

  设置用户权限之前,你必须激活项目安全机制。打开VSS Administrator的Tools菜单,点击Options得到SourceSafe Options对话框,选取Project Security并且勾上Enable project security复选框。(如下图所示)


图一 激活项目安全机制

  VSS中有三种方法可以设置用户的项目访问权限:针对项目设置每个用户的权限,针对用户设置访问每个项目的权限,拷贝用户权限,它们分别对应于Tools菜单下的Assign Rights by Project,Rights Assignments for User,Copy User Rights。我们以方法一为例做一简单说明。如下图所示,在左边框中选定项目,在右上框中选定用户,右下脚的User rights中就显示该用户现具有的权限,选中不同的复选框来设置你自己的权限。注意:对每个项目的用户权限设置自动反映到该项目的所有子项目中。


图二 用户授权


三、权限管理在实际项目中的应用

  在本小节中,我主要结合在实际项目过程中作为配置管理员的经验来谈谈权限管理的实际应用,以及在应用过程中需要考虑的因素。

  我们要接触的这个项目为一软件移交的项目,这个项目团队的成员组成和职责分配如下:

  项目经理:1人,负责协调整个项目
  业务分析师,1人,负责整个系统业务的掌握
  系统架构师:1人,负责整个系统的系统架构
  Package Owner:3人,分别负责系统前端、中间层及后台数据库三个部分
  模块负责人:3-5人,分别负责各个模块
  数据库管理员(DBA):1人,负责系统数据库
  Test/QA:1人,负责整个软件的测试和质量保证
  Technical Writer:1人,负责相关技术文档的写作
  变更控制委员会(CCB):3人,负责项目需求的变更审核及执行,包括软件配置管理员,外方项目经理

  实际过程中大多会发生人员交叉现象,比如我们项目的实际人数就只有9人,项目经理又同时是CCB中的一员,Package Owner同时兼任模块负责人。根据我们项目的实际组成情况,我在VSS中给出了如下所示的项目结构:


图三 VSS项目结构

图示说明:

  1、exec项目中主要存放项目可执行文件或者软件安装文件,由于该项目比较复杂,建立过程耗时长且比较复杂,所以直接在VSS中存放可执行文件。一般的项目不推荐这样使用。

  2、图中只是显示整个项目结构的主要部分,省略了细节部分,比如client项目中包含有许多的小项目。

  接下来,就需要为每个项目、子项目设置不同的用户访问权限。由于所有的软件重大变更都需要交由CCB审核签字后方可执行,所以我们把整个项目的D(6)级权限赋给CCB成员。而项目经理主要负责项目的整体进度的把握以及与外方项目组、其他部门的协调工作,所以拥有整个项目的R权限并且拥有development document的A权限。配置管理员的权限有两者可能,一种就是拥有整个项目的A权限,另外一种可能就是只拥有部分项目的A权限,这主要取决于赋予给配置管理员的实际权限有多大。以此类推,各个模块负责人拥有各自模块的A权限。此外由于移交项目的特殊性,一般在项目开始过程中主要以培训为主,很少涉及到软件的修改,所以建议在项目开始阶段不赋予开发工程师用户C权限以免引起不必要的错误和争论。

总结

  本文通过讨论VSS中权限管理实现的具体机制,并且结合例子讲解了在实际过程中的应用。虽然移交项目有着它本身的特殊性,但我相信对于任何项目来说其安全管理的基本思路是相通的,希望此文能够给大家以一定的启示和借鉴。

参考

  1) 本文中会大量涉及到“项目”一词,有的时候它是指实际的软件项目,有时它又是指VSS数据库中的项目、子项目,请注意区分。

  2) 有关软件配置管理的更详细信息,可以参考本网站相关内容。软件配置管理主要包括版本管理、变更管理、权限管理等方面,本文主要涉及权限管理。

  3) 软件版本采用Microsoft Visual SourceSafe 6.0英文版,其他的版本请进行相应的对照。

  4) 所有这些命令的详细信息可以参考VSS帮助。

  5) 项目背景大致介绍:所移交的软件为一国外公司的软件,是基于Microsoft的DNA架构的三层应用,代码量为150万行左右。移交的目标:掌握现有系统,充分了解相关的商业逻辑,为以后开发出自己的符合中国国情的软件做好充分的准备。这其中可能涉及到需求的再分析、系统的重新架构以及向Java平台的迁移。

  6) 我们分别用R、C、A、D来表示VSS中的四级权限Read,Check Out,Add,Destroy。


http://case.51cmm.com/CM/No005.htm
      由于Web项目程序代码非常分散不集中,大的Web项目程序代码源文件多达上百个甚至更多,小的也有数十个,怎样合理地管理这些源代码还是一个问题,本文提出一种针对Web项目开发过程中代码控制的解决方案。我们将利用Dreamweaver MX和Visual SourceSafe来实现Web项目代码开发的全程控制。这2种软件大家都比较熟悉,但为了保持本文的完整性我还是分别简要介绍一下这2种软件。
Dreamweaver MX(以下简称DW MX)是Macromedia公司网页制作三剑客之一,其强大功能在此不再复述,DW MX整合了Dreamweaver 4和Dreamweaver UltraDev 4的所有功能,他同时适合Web界面开发人员和Web后台开发人员使用,DW MX几乎支持所有常见动态Web编程语言,如PHP,ASP/ASP.net,JSP等,他最大特点就是整合了团队开发的功能,比如Design Notes(设计笔记)能够方便开发成员互相交流,他还可以与Vislual SourceSafe的数据库链接起来,达到代码控制的目的。
Visual SourceSafe(以下简称VSS)是Microsoft Visual Studio 6.0这个开发产品家族的一员,VSS主要功能是对项目进行版本控制和源码控制,它能够详细记录一个源码文件从创建到发布的所有修改和版本信息,而且还可以让你查看所有历史记录并对不同时间的源码进行比较分析,恢复代码到某一时刻和版本状态。VSS具有强大的用户管理权限,可以对每个用户设置R(Read)、C(Check Out)、A(Add)、D(Destroy)权限,非常适合团队开发。
这2款软件的详细使用方法和教程在酷页(http://www.kupage.com)的相关栏目中可以找到。
一、网络环境的搭建
图1-1将介绍团队开发的网络环境拓扑结构:

图1-1开发网络拓扑结构
Server主要功能是代理Internet和整个网络控制,而Test Server主要负责代码调试工作,在该服务器上要搭建与Web发布服务器一样的平台(包括内部DNS,IIS等),为了节省资源在该服务器上装一个数据库,Backup Server服务器主要能是数据的备份,包括开发代码,开发文档,以及对网站的常规备份,定期对Backup Server服务器上的数据进行物理备份(主要指把数据保存到活动硬盘或刻成光盘),在Backup Server服务器上安装VSS,当然如果你的开发资源比较丰富的话,我觉得有必要添加数据库服务器和VSS服务器。
二、VSS配置
先分别在服务器和开发客户端上安装VSS服务器,DW MX和VSS客户端。在开始配置VSS时先解释一下2个最基本的概念,Check Out,将VSS数据库上的文件最新内容下载到本地工作路径,并将该文件锁定,不允许其他人修改,但可以得到文件最新内容。Check In,将本地工作路径中已修改好的文件更新到服务器上,并将本地路径的文件属性设为只读,释放VSS服务器上该文件的锁定状态,这是VSS最基本的2个概念一定要弄明白。下面将介绍创建一个VSS项目的详细步骤。
1、打开VSS的管理员操作界面,执行Tools/Create Databse命令创建一个VSS数据库,当创建成功后执行Users/Open SourceSafe Database命令,打开VSS数据库。
2、执行Users/Add User命令,打开图1-2操作界面,输入用户名和密码,若你只赋予该用户只读权限,就选取Read Only复选框。

图1-2 添加用户界面
3、设置用户权限,在管理界面中用鼠标选取用户名Cat,然后执行Tools/Rights Assignments for user...命令打开设置用户权限对话框如图1-3。这里面有4个权限,他们含义分别是Read(只读),Check Out/Check In(文件的鉴入和鉴出),Add/Rename/Delete(添加/修改/删除VSS上的文件),Destroy(彻底删除,无法恢复,设置时要小心)。然后重复2到3步添加开发小组中的其他成员。

图1-3 设置用户权限
4、设置VSS项目中的目录结构,点击程序栏中的Microsoft Visual SourceSafe 6.0命令,弹出登录对话框,输入用户名或者密码,单击Browse...按钮,找到服务器共享的VSS目录路径(支持网络路径)。
5、创建对象,执行File/Create Project...命令,也可以直接点击快捷菜单栏中的按钮,打开创建对象对话框如图1-4,在此可以输入对象名还有相关的描述。所创建的对象在VSS的All Projects栏中表现形式为文件夹。

图1-4 创建对象对话框
6、添加文件,VSS用户界面中支持文件夹的拖拽操作,先进入到项目(文件夹)中,在本地选取好要放到服务器上的文件,然后直接拖拽到VSS的用户界面,就会弹出一个上传对话框如图1-5,在对话框中可以输入注释。还有其他相关选项,在此简单说明一下:
Store Only latest version :保存文件最后版本。
Check Out Immediately:当文件以添加完后将它Check Out。
Remove local Copy:文件添加完后就将本地的的文件删除掉,最好在添加的文件的时候不要选取这一项。
File Type:选择添加文件的类型,一般选择Auto-detect(自动识别),可选择项目是二进制文件和文本文件。

图1-6 添加文件对话框
至此基本将介绍完VSS的设置,在准备开发以前必须在VSS中建好相应的文件夹和小组用户帐号。图1-7是已经创建好的VSS对象结构图。

图1-7 VSS客户端使用界面
三、DW配置
由于VSS已经定义好了,再将DW和VSS连接起来不是很困难,下面是配置DW的详细步骤
1、进入DW的编辑界面,执行Site/New Site...命令,打开定义站点对话框,默认是Local Info(本地信息)选项卡,在界面中填入开发项目的名称和项目源码所在的地址,填完后入图1-8。

图1-8 Local Info选项卡
2、在站点定义选项对话框中选取Remote Info(远程信息)选项卡如图1-9,在界面的Access(远程访问类型)中选取SourceSafe Database。Automatically Upload files to server,在DW中修改文件保存后自动将修改的信息更新到VSS服务器上。Check Out File when Opening,在DW中打开文件自动Check Out服务器上对应的文件。

  在开发过程中,如果想将ClearQuest的某些功能整合到所开发的应用程序中,可以利用瑞理可提供的COM API来实现,它允许将呼叫中心、前台办公、软件测试以及第三方提供的应用程序进行整合。
  在测试中,我们将其配置在运行IIS(Microsoft Internet Information Server)的Windows NT服务器上。虽然我们希望它能在不同的Web服务器上工作,但是在测试中,它只能够在微软的平台上正常工作。
  易于上手
  由于瑞理预先定义好了数量众多的程序、窗口以及关联的规则,所以ClearQuest易于上手。当然,如果要更进一步地配置,就要使用ClearQuest的Designer组件定制单独的数据库域、程序、窗口和规则。如果想有效地实施错误跟踪和修改管理方案,就应该将其以图表或表格的形式突出显示。这正是ClearQuest的一个特长。由于它包含Crystal Reports,所以在ClearQuest中可非常容易地实现报表,并且功能强大。
  和瑞理其它产品一样,ClearQuest的用户手册和在线帮助都做得非常好。我们觉得Rational ClearQuest V2001是一个很棒的产品,它可以完全定制界面和工作引擎,以适应所有的开发过程。当然,如果它能够支持除微软IIS以外的Web服务器,那就更好了。

图1-9 Remote Info选项卡
3、在Remote Info选项卡中点击Settings...按钮,打开图1-10对话框,在该对话中分别填入Database Path,VSS数据库路径,。项目路径,注意对象路径一定要以$开始,路径支持中文。然后填入VSS用户的用户名和密码。

图1-10 VSS客户端登录设置
4、在站点定义选项对话框中选取Testing Server(测试服务器信息)选项卡如图1-11,Server Model:选择Web项目所才用的技术类型,DW支持绝大多数的Web动态语言。Access:访问类型,有FTP和Local/Network(本地/局域网),Testing Server:测试服务器地址。 Refresh Remote File List Automatic:自动刷新远程文件列表,URL Prefix:测试服务器访问的URL地址。

图1-11 Testing Server

至此,DW和VSS的配置都已经基本配置好了,上面讲到的配置都是必须要设置的,否则2种软件不能够友好协作,其他还有一些参数可以根据具体情况来设置。


四、实战开发
到了这一步你可以具体开发了,由于已经将DW和VSS已经连接起来了,对VSS文件的常规操作不需要登录VSS去实现,直接在DW中就可以方便实现。下面将从2个方面来实战开发,先介绍在DW中开发然后再介绍在VSS中进行版本控制和代码恢复比较等。
(一)、在DW中的相关应用
1、在DW中连接VSS服务器
打开DW编辑窗口后的第一件事就是连接远程服务器,也就是VSS服务器。在DW中执行Site/Site Files...命令或者按F8快捷键打开图1-12 Site面板,Site面板中可以查看到本地文件列表、测试服务器文件列表和远程VSS上面的文件列表。我们对文件的编写和操作主要是在Local View中进行的。当然你也可以不连接远程服务器,在本地打开一个未被其他小组成员Check Out的文件时DW自动连接VSS服务器,并且将该文件自动Check Out,在Site面板中的文件有三种状态,文件锁定状态:当前文件没有被任何其他成员Check Out编辑,这样的文件DW在文件名前加一个小锁。文件被自己Check Out 状态:也就是文件自己正在编辑或者已经Check Out了,DW在文件名前加一个绿色的小勾。文件被别人Check Out 状态:文件被其他小组成员Check Out了,DW在文件名前加一个红色的小勾。

图1-12 Site面板
2、源代码文件的基本操作
在图1-12 Site编辑界面中可以对文件进行Put/Get,Check Out/In操作,Check Out 和Check In在前面已经介绍过了不在说明了。Put是将本地文件上载到VSS服务器上,Get就是把VSS服务器上的文件下载下来。Put/Get和Check Out/In的区别就是VSS是否对文件内容的操作做了备份和记录,Check Out/In操作在VSS上都有相应的记录,而Put/Get就没有。
?这种整合允许开???Δ??将修改要求和基本代码相关联。
  在开发过程中,如果想将ClearQuest的某些功能整合到所开发的应用程序中,可以利用瑞理可提供的COM API来实现,它允许将呼叫中心、前台办公、软件测试以及第三方提供的应用程序进行整合。
  在测试中,我们将其配置在运行IIS(Microsoft Internet Information Server)的Windows NT服务器上。虽然我们希望它能在不同的Web服务器上工作,但是在测试中,它只能够在微软的平台上正常工作。
  易于上手
  由于瑞理预先定义好了数量众多的程序、窗口以及关联的规则,所以ClearQuest易于上手。当然,如果要更进一步地配置,就要使用ClearQuest的Designer组件定制单独的数据库域、程序、窗口和规则。如果想有效地实施错误跟踪和修改管理方案,就应该将其以图表或表格的形式突出显示。这正是ClearQuest的一个特长。由于它包含Crystal Reports,所以在ClearQuest中可非常容易地实现报表,并且功能强大。
  和瑞理其它产品一样,ClearQuest的用户手册和在线帮助都做得非常好。我们觉得Rational ClearQuest V2001是一个很棒的产品,它可以完全定制界面和工作引擎,以适应所有的开发过程。当然,如果它能够支持除微软IIS以外的Web服务器,那就更好了。
在Site界面中可以用鼠标直接拖拽实现文件的Put/Get,在DW默认设置中从VSS服务器上拖拽文件会弹出如图1-13的信息提示框(Check Out/In操作也会有这个提示框),该文本框的含义是是否将与该文件有关连的文件都Put/Get(Check Out/In)。强烈建议在此选择No,而且还把不要提示消息这个复选框勾选。如果你选择了Yes,你的操作将会非常慢而且还会造成一些不必要的错误(DW会用VSS上旧文件覆盖本地已修改但未Check In的文件),DW把与当前文件有关连的所有文件都操作了,如Include文件、图片文件、CSS文件等,其实有些不是经常需要修改的文件。如果有一天需要选择它同时操作与他有关联的文件,执行Edit/Preferences...命令打开参数设置对话框,选择Site选项卡,把Dependent Files(关连文件)中的2个复选框勾选即可。

图1-13 信息提示框
3、Design Notes(设计笔记)
细心的人也许发现了图1-12中有几个文件名后面有个黄色的小标记,这是Macromedia在发布Dreamweaver 3.0时增加的一个功能Design Notes(设计笔记),开发人员可以对该文件增加设计笔记和心得,这些笔记和心得是累加的,可以记录各个开发人员的笔记,这些信息任何一个打开该文件的开发人员都可以查看到,这样开发人员就可以非常方便地勾通。当用DW和VSS联合开发时,这些笔记心得还可以保存到VSS服务器上。VSS对每个文件都有个Comment(注释)功能,这和DW的Design Notes的功能有点重复,不过DW的Design Notes功能强大许多,还是推荐使用Desgin Notes,在DW3和DW4的版本中Design Notes不支持中文,但DW MX可以支持中文,这一点对那些英文不太好的人来说是一个福音。
若要对一个文件添加Design Notes,就先用鼠标在Files面板中选取该文件,点击鼠标右建弹出快捷菜单执行Design Notes命令,打开图1-13。在界面中就有2个选项卡,一个是Basic Info(基本信息),另一个是All Info(所有信息),先选择该文件的当前版本,然后在Notes(笔记)文本框中添加信息,可以通过点击日期按钮插入当前系统的日期。在All Info选项卡中可以查看所Notes。

图1-14 设计笔记对话框
4、保持与远程服务器的同步(Synchronize)
同步是把本地源代码和远程服务器上源代码统一,如果不统一就用最新的覆盖本地或服务器旧文件。用鼠标在Site面板中选取本地一个源代码,然后点击鼠标右建弹出快捷菜单执行Synchronize...命令,打开图1-15对话框,在该对话框中可以设置与远程服务器(VSS服务器)的同步方式。

图1-15 设计笔记对话框

Synchornize下拉菜单中有2个选项:
a、整个本地站点和远程服务器同步,它会显示当前已定义的站点名称
b、仅对本地已选择的文件和远程服器上的文件同步,可以按住键盘Ctrl键选取多个文件和远程服务器相应文件同步
Direction(方式)下拉菜单?这种整合允许开Δ将修改要求和基本代码相关联。
  在开发过程中,如果想将ClearQuest的某些功能整合到所开发的应用程序中,可以利用瑞理可提供的COM API来实现,它允许将呼叫中心、前台办公、软件测试以及第三方提供的应用程序进行整合。
  在测试中,我们将其配置在运行IIS(Microsoft Internet Information Server)的Windows NT服务器上。虽然我们希望它能在不同的Web服务器上工作,但是在测试中,它只能够在微软的平台上正常工作。
  易于上手
  由于瑞理预先定义好了数量众多的程序、窗口以及关联的规则,所以ClearQuest易于上手。当然,如果要更进一步地配置,就要使用ClearQuest的Designer组件定制单独的数据库域、程序、窗口和规则。如果想有效地实施错误跟踪和修改管理方案,就应该将其以图表或表格的形式突出显示。这正是ClearQuest的一个特长。由于它包含Crystal Reports,所以在ClearQuest中可非常容易地实现报表,并且功能强大。
  和瑞理其它产品一样,ClearQuest的用户手册和在线帮助都做得非常好。我们觉得Rational ClearQuest V2001是一个很棒的产品,它可以完全定制界面和工作引擎,以适应所有的开发过程。当然,如果它能够支持除微软IIS以外的Web服务器,那就更好了。
中有3个选项:
Put newer files to remote:把最新的文件放到远程服务器上。
Get newer files from remote:从远程服务器上得到最新的文件。
Get and Put newer files:保持本地和远程服务器上都是最新文件。
复选框的含义是,删除远程服务器上不在本地的所有文件。
设置完参数后,点击Preview按钮,DW就自动按照规则搜索需要更新的相关文件,如果没有需要同步的文件DW弹出一个消息框,否则完成同步操作。

(二)VSS中的相关应用
由于在DW中可以对VSS的文件进行常规操作,开发人员不需要经常到VSS客户端中进行操作,但比如为代码设置版本、恢复文件等操作需要在VSS中进行。VSS记录了一个源代码文件从创建、修改到发布的全过程,记录了每次对该文件的Check In操作,所以在源代码查错调试方面非常有用。下面将介绍VSS几种典型的操作。
1、源码操作
登录进入VSS客户端界面,用鼠标选取源代码文件点击右建弹出快捷菜单执行Show History...命令,弹出图1-16 历史选项。这是查看记录选项,在此可以定义你要查看的历史记录。


图1-16 历史选项
Include Labels:包括用户指定的标签的历史记录。
Labels Only:仅显示有用户定义标签的历史记录。
From:限制查询历史记录的开始日期,可以输入日期、日期:时间、version(版本)或者label(标签),在输入日期时间格式是需要加一个前缀"D",如"D02/29/95;12:15",在输入版本号时需要加一个前缀"L",如Lbeta1。若仅日期格式不需要添加任何前缀,以下格式都是合法的,08.15.95, 08-15-95, or 08/15/95 format, but not as August 15, 1995,注意这些时间格式是老外的习惯,你在输入时候需要注意一下。
To:限制查询历史记录的结束日期,可以输入日期、日期:时间、version(版本)或者label(标签),其输入规则与From的一样。
User: 指定用户名。
在输入特定条件后单击"OK"按钮弹出历史纪录列表,如图1-17 历史记录列表。

图1-17 历史记录列表

View:查看源码详细信息,如果是二进制文件将不能正常显示。
Details:查看文件的详细信息,点击该按钮会弹出一个对话框,可以查看该文件的版本信息、操作时间、操作人以及文件的注释。
Get:得到当前历史记录的源代码文件,并不是该代码的最新版本。
Check Out:将该文件Check Out。
Diff:源码比较。单击该按钮会弹出源码比较选项对话框,直接单击"OK"按钮打开图1-18界面。从界面中可以清晰看到代码的异同。VSS中用3种颜色来区分代码的变化,蓝色代码表示被删除的行,红色代码表示被修改的代码,绿色代码表示新增加的代码。

?这种整合允许开???Δ??将修改要求和基本代码相关联。
  在开发过程中,如果想将ClearQuest的某些功能整合到所开发的应用程序中,可以利用瑞理可提供的COM API来实现,它允许将呼叫中心、前台办公、软件测试以及第三方提供的应用程序进行整合。
  在测试中,我们将其配置在运行IIS(Microsoft Internet Information Server)的Windows NT服务器上。虽然我们希望它能在不同的Web服务器上工作,但是在测试中,它只能够在微软的平台上正常工作。
  易于上手
  由于瑞理预先定义好了数量众多的程序、窗口以及关联的规则,所以ClearQuest易于上手。当然,如果要更进一步地配置,就要使用ClearQuest的Designer组件定制单独的数据库域、程序、窗口和规则。如果想有效地实施错误跟踪和修改管理方案,就应该将其以图表或表格的形式突出显示。这正是ClearQuest的一个特长。由于它包含Crystal Reports,所以在ClearQuest中可非常容易地实现报表,并且功能强大。
  和瑞理其它产品一样,ClearQuest的用户手册和在线帮助都做得非常好。我们觉得Rational ClearQuest V2001是一个很棒的产品,它可以完全定制界面和工作引擎,以适应所有的开发过程。当然,如果它能够支持除微软IIS以外的Web服务器,那就更好了。
图 1-18 源代码对比
Pin/Unpin:锁定/解锁所选择的源代码文件,不允许别人再做Check Out/In操作。文件被锁定后VSS就在文件名前加一个标识。
Rollback:恢复当前版本。该操作是不可逆的,源码被恢复后,比该记录晚的历史记录全部被清除。建议不要过多使用该功能,可以用通过单击"Get"按钮得到当前版本的源代码,再对源码做出修改,这样做保留了历史记录不被清楚,同时也达到了Rollback的功能。
Report:对比报告。VSS把分析出来的结果输出到打印机、文件和剪贴板。
2、恢复删除记录
VSS中可以对删除的文件和对象进行恢复,如果用户在删除文件时选择了Destroy permanently(永久删除),那该操作不可恢复。只有用户的权限含有Destroy才能进行彻底删除,当然也只有具有Destroy权限的用户才能恢复被删除的文件。用鼠标在VSS客户端界面的All Projects窗口中选择一个对象(也就是文件夹),然后点击右建弹出快捷菜单执行Properties...命令,打开该对象的属性面板选择Deleted Items(删除项目)选项卡如图1-19所示。
用鼠标选择欲操作的文件,可以按键盘Ctrl键选取多个文件,然后单击Recover(恢复)或Purge(彻底删除,不可恢复)按钮。

图 1-19 恢复被删除的文件

3、版本控制
当Web项目开发完成后,就有必要对源代码封一个版本,这样有利于项目发布以及升级,用鼠标在VSS客户端界面的All Projects窗口中选择一个对象(也就是文件夹),然后点击右建弹出快捷菜单执行Label...命令,打开设置版本窗口如图1-20

图 1-20 版本设置
只需要在Label中输入版本号然后单击OK按钮就可以了,在Comment中可输入描述内容。当封了一个版本后,该项目下面的所有源代码都封了一个版本,如图1-17 可以看到有条历史记录的Action是"Label 1"。
终于可以告一段落了^_^,现在回过头来看看先前写的那些文字,大多都是点到为止,没有更加深入地讨论。DW和VSS联合开发是我非常喜欢的一种模式,这种模式适合中小型项目开发。我想今天写了这么多,但依然不能把DW和VSS介绍的非常详细,读者有兴趣可以自己实践一下,如果你在实施的过程中遇到困难,我非常愿意与你探讨,请到酷页http://www.kupage.com和我联系。
posted @ 2005-04-26 01:19  小白天地  阅读(844)  评论(0编辑  收藏  举报