VSS 的全称为 Visual Source Safe 。作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理,几乎可以适用任何软件项目。管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取,对开发小组中对源代码的访问进行有效的协调。
作用
运行环境
使用说明
VSS使用过程中要遵循的是lock-modify-unlock流程而不是 copy-modify-merge流程(比如CVS),即开发人员首先将自己要修改源代码和文档从VSS服务器主备份文件上checkout到本地同时锁定服务器上的源代码和文档(multi - checkout情况除外),修改完成后checkin到服务器上同时解除服务器上文件的锁定。服务器集中控制所有的源程序和文档。
VSS使用中涉及到的概念
1) 项目(project),所谓的项目是一组存在VSS中的文件(任何类型),可以在项目中或是项目之间进行文件的添加、删除、编辑和共享。一个项目与操作系统的文件夹有很多的相似之处,但它更好地支持文件合并、历史和版本控制。所有的文件存在VSS数据库的项目中,开发组成员不能在VSS中的服务器主备份文件上工作(除了检查和版本比对等特殊情况外)而是VSS为每个成员在各自的工作目录(workfolder)下提供一个拷贝以供工作。尽管在没有工作目录的情况下也可以查看某个文件,但如要真正在VSS管理下工作,就必须要创建一个工作目录。
2) 工作目录(workfolder)是用户真正对项目文件进行调试修改的地方,当用户checkout文件时,VSS将就将文件拷贝到用户的工作目录下,当用户修改了该文件并将其checkin时,VSS再将它从用户的工作目录拷回到VSS 的数据库中。在用户作checkout时,VSS将会自动管理他的工作目录,诸如创建必要的子目录。而且工作目录可以随时创建或修改。
3) 版本跟踪。VSS提供版本控制和历史服务,而且老版本程序和文档能够被重新得到以便进行bug跟踪或其他目的。VSS用日期/时间戳来记录文件是何时被checkout或是何时被修改的,它主要有三种方法来跟踪文件和项目的版本:
版本号:这是由VSS维护的内部数码,用户对它没有控制权。每个文件和项目的每个版本都有一个版本号,这些版本号总是一个整数且是递增的。
标签(label):这些是用户赋给某个项目或文件的某个版本的一个字符串,可以是任何格式的长度不超过31字符的字符串。推荐使用。
日期/时间戳:它给出了一个文件何时最后被修改的信息,或者是一个文件何时被checkin。VSS同时支持 12小时和24小时的时间格式。
配置和管理编辑
在VSS6.0服务器安装完毕后,就可以针对开发项目进行VSS服务器的配置和管理,这些工作均需由VSS管理员来完成。
第一步
为整个项目创建一个VSS数据库(在VSS服务器安装时,系统已经创建了一个缺省数据库Common),启动Visual SourceSafe6.0 Admin(Start/Programs/Microsoft Visual Studio6.0/Microsoft Visual SourceSafe/Visual Sou rceSafe6.0 Admin),跳出对话窗口,点击下拉菜单Tools中的Create Database ...菜单项,将出现对话窗口,选择新数据库的路径,例如创建MyApp数据库,然后点击OK按钮,系统将完成创建工作。
第二步
为新创建的数据库(例如MyApp)建立用户,首先需要打开该数据库,点击下拉菜单Users/Open SourceSafe Database...,然后选择数据库MyApp并打开。再选择菜单项Add User...,输入用户名和口令。然后依次创建其他的用户。可以为不同的用户设置针对不同项目文件夹的不同存取权限,存在两种方法:1)使用VSS提供的功能。选中Tools/Options…对话框中Porject Security属性页的Enable Project Security复选框并选择Tools/Rights by Project…或者Tools/Rights Assignments for User…进行设置;2)使用windows操作系统的cacls命令。
第三步
在该新建的数据库中创建项目Project。启动Microsoft Visual SourceSafe6.0(Start/Programs/MicrosoftVisual Studio6.0/Microsoft Visual SourceSafe/Microsoft Visual SourceSafe6.0),出现对话窗口,点击下拉菜单File中Open SourceSafe Database...,跳出对话框,选择一个数据库(例如MyApp),双击它或按Open按钮打开该数据库;一个项目Project是一组相关的文档或者是一个文件的集合,VSS允许你以任何的层次结构来存贮和组织你的项目。在VSS数据库中,你可以创建一个或者多个项目。点击菜单File中的命令Create Project...,创建一个项目,例如MyProject;创建完项目MyProject后,需要向MyProject中添加文件,点击File中Add Files命令,将跳出对话框,选择相应文件或目录,点击Add按钮,将它们添加到MyProject中去。
至此VSS服务器的配置到此基本上已经完成了,创建了数据库和项目,并为它们建立了相应的用户,这样用户在客户端就可以直接登录到VSS服务器上,进行在VSS控制管理下的开发工作。
注意:关于服务器主备份文件的目录结构应该在项目开发前确定并征得全体开发人员得同意。实际使用过程中,如果发生服务器主备份文件目录结构不合理或者需要临时增加删除一些文件的情况,VSS管理员有责任集中进行处理。
使用步骤
下面以实验室数据仓库项目具体实例说明VSS客户端使用步骤。
第一步
登录到VSS服务器。启动Microsoft Visual SourceSafe6.0客户端(Start/Programs/MicrosoftVisual Studio6.0/Microsoft Visual SourceSafe/Microsoft Visual SourceSafe6.0),出现如下登录窗口;
点击Browse…按钮,出现下面对话框;
再点击Browse…按钮,选择下图所示的目录(DBGROUP服务器上的共享目录,如提示输入DBGROUP服务器帐号密码则分别填写vss/vss);
单击打开按钮并在随后出现的两个对话框上单击OK和Open;
重新回到登录对话框;
输入管理员指定的用户名和密码,即登录到了VSS服务器上。
注意:可以对不同的用户设置不同的权限(一般由配置管理员完成)。
第二步
如果是第一次登录到VSS服务器,还需要先设定工作目录,否则无法进行checkout操作。
工作目录的设定如下图所示,选中自己相关模块的文件夹,单击右键,选择Set Working Folder…;
在弹出的对话框中选择自己所设定的工作目录并单击OK; 注意:工作目录设定完成后,服务器上的文件checkout后均放到该工作目录中,所以本地机器上的工作目录应收到保护不能随意删除移动。
第三步
checkout文件到本地工作目录中。选中相关的文件夹,单击右键并选择Check Out…;
系统弹出checkout对话框如下,单击OK后该目录下所有文件和子文件夹即checkout到了本地工作目录同时服务器上的文件被锁定呈红色,其他用户不可以再checkout该文件夹(服务器设置为不允许multicheckout)。
注意:一定要选中Recursive复选框以保证所有子文件夹被checkout。
第四步
对本地工作目录当中的文件进行修改调试。
第五步
将工作目录中的文件checkin。如果不将修改后的文件checkin则第四步中对文件的修改无法反映到服务器上项目文件的主备份中,而且极有可能导致下次checkout后本地文件被旧版本文件覆盖的情况。在VSS客户端窗口中选中要checkin的文件夹单击右键选择Check in…,弹出checkin对话框,单击OK则本地工作目录中的文件checkin到了服务器上同时服务器上的文件解除锁定(变黑)。