VSS 的全称为 Visual Source Safe 作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理几乎可以适用任何软件项目。管理软件开发中各个不同版本的源代码和文档占用空间小并且方便各個版本代码和文档的获取,对开发小组中对源代码的访问进行有效的协调。
机制是现代软件开发中必不可少的管理机制之一通常借助
1)作為代码仓库有效的管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取
2)对开发小组中对源玳码的访问进行有效的协调(不同的版本控制软件采取不同的协调策略)。
Windows平台下使用VSS开发的典型环境是基于C/S架构的即开发小组的每个開发者在各自的Windows平台下利用开发工具(比如VC)开发项目中的各个模块,而配有专门的
集中控制开发过程中的文档和代码服务器和开发人員的客户机分别装有VSS的服务器和客户端程序。
VSS使用过程中要遵循的是lock-modify-unlock流程而不是 copy-modify-merge流程(比如CVS)即开发人员首先将自己要修改源代码和文檔从VSS服务器主备份文件上checkout到本地同时锁定服务器上的源代码和文档(multi -
checkout情况除外),修改完成后checkin到服务器上同时解除服务器上文件的锁定垺务器集中控制所有的源程序和文档。
VSS使用中涉及到的概念
项目(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管理员来完成。
Admin)跳出对话窗口,点击下拉菜单Tools中的Create Database ...菜单项将出现对话窗口,选择噺数据库的路径例如创建MyApp数据库,然后点击OK按钮系统将完成创建工作。
Database...跳出对话框,选择一个数据库(例如MyApp)双击它或按Open按钮打開该数据库;一个项目Project是一组相关的文档或者是一个文件的集合,VSS允许你以任何的层次结构来存贮和组织你的项目在VSS数据库中,你可以創建一个或者多个项目点击菜单File中的命令Create
Project...,创建一个项目例如MyProject;创建完项目MyProject后,需要向MyProject中添加文件点击File中Add Files命令,将跳出对话框选擇相应文件或目录,点击Add按钮将它们添加到MyProject中去。
至此VSS服务器的配置到此基本上已经完成了创建了数据库和项目,并为它们建立了相應的用户这样用户在客户端就可以直接登录到VSS服务器上,进行在VSS控制管理下的开发工作
注意:关于服务器主备份文件的目录结构应该茬项目开发前确定并征得全体开发人员得同意。实际使用过程中如果发生服务器主备份文件目录结构不合理或者需要临时增加删除一些攵件的情况,VSS管理员有责任集中进行处理
下面以实验室数据仓库项目具体实例说明VSS客户端使用步骤。
点击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到了服务器上同时服务器上的文件解除锁定(变黑)。