VSS使用手册 作实验指导书.docx
《VSS使用手册 作实验指导书.docx》由会员分享,可在线阅读,更多相关《VSS使用手册 作实验指导书.docx(19页珍藏版)》请在冰豆网上搜索。
VSS使用手册作实验指导书
VSS(VisualSourceSafe)使用入门第二版(2.01)
1前言2
2概念2
2.1数据库SourceSafeDatabase2
2.2服务器和客户机3
2.3项目Project3
2.4工作目录WorkingFolder3
2.5签入、签出3
2.6基本工作方式3
3作业指导书3
3.1客户机作业指导书3
3.2管理员作业指导书5
4指南5
4.1安装5
4.1.1VSS6.0的安装5
4.1.2VSS8.0的安装6
4.2数据库管理6
4.2.1介绍6
4.2.2VisualSourceSafe6.0Admin程序7
4.2.3打开指定的数据库7
4.2.4创建新数据库8
4.2.5用户管理8
4.2.6使用项目权限ProjectRights8
4.2.7禁止自动登录9
4.2.8设置文件类型10
4.3使用VSS浏览器10
4.3.1借助VSS开发项目10
4.3.2VSS浏览器11
4.3.3设置对项目递归操作11
4.3.4修改密码11
4.4项目操作11
4.4.1添加项目和文件11
4.4.2设置项目工作路径12
4.4.3取得项目最新版本12
4.4.4签出项目CheckOut12
4.4.5签入项目CheckIn13
4.4.6撤销签出UndoCheckOut13
4.4.7显示历史记录ShowHistory13
4.4.8显示差异ShowDifferences14
4.4.9设置版本标签Label15
4.4.10取得历史版本15
4.4.11项目属性15
4.5文件操作15
4.5.1取得最新版本15
4.5.2签出15
4.5.3签入16
4.5.4撤销签出16
4.5.5查看和编辑(View,Edit)16
4.5.6显示文件历史ShowHistory16
4.5.7文件比较ShowDifferences17
4.5.8文件属性17
4.6与开发工具整合17
4.7已知的问题17
4.7.1VSS6.0的UNICODE、UTF-8的问题17
4.7.2InterDev开发Web应用的问题18
4.7.3文件比较的问题18
4.7.4签入无效的问题(与CuteFTP有关的)18
4.8Tip18
4.9Vss备份19
1前言
很多管理严格的公司(真正的CMM3)却也在使用VSS进行管理,他们的VSS数据可以累积到好几个G。
这些公司并非仅仅使用VSS管理源代码,他们用VSS管理所有受控的文件,包括组织级文件、项目文档、会议记录、评审报告等等,总之一句话,所有重要的东西和他们的历史都可以在VSS中获得。
很多程序员在体会了版本控制系统的好处以后开始用版本控制系统管理自己的所有文件,从此不用担心自己遗忘什么或者因为偶然的失误失去什么重要的东西。
这是一种幸福的感觉。
VisualSourceSafe是一个源代码控制系统,可以保存文件的不同版本,可以比较文件的差别,可以控制不同的人对同一文件的修改。
就功能而言是同类产品中比较弱的,但满足了基本的需要并且非常容易使用,因此获得了非常广泛的使用。
VSS目前的最高版本是2005。
微软公司终于开发了VSS.net,但我们仍然继续忍受VisualStudio98风格的界面,微软为VSS所做的革新实在不多,不知道他们的脸皮为什么那么厚,居然敢把版本跳到8.0。
8.0和6.0的数据库是兼容的,客户端也可以交叉使用。
所谓VSS服务器指的是存放VSS数据库的计算机,客户端是访问VSS数据库的计算机,而VSS数据库是一个共享的目录,仅此而已(因此并不存在服务器程序)。
2概念
2.1数据库SourceSafeDatabase
所谓数据库就是一个目录,里面包含了存储的各个版本的文件、配置信息、当前的签出状态等,一切都在这个目录里面。
当然,文件数据可不是直接存储文件,看不懂的。
2.2服务器和客户机
服务器就是存放数据库(就是一个目录)的机器,客户机就是访问数据库(就是访问目录)的机器。
其实根本没有服务器,多个客户之间的协作都是通过读写数据库目录的文件完成的。
2.3项目Project
VSS以树形目录的方式组织内容,每个目录称之为一个项目(Project,这是一个重要概念),每个子目录也同样是一个项目,如果使用了递归选项(在菜单Tools下的Options里面)则对一个项目的操作会包含下面的所有子项目,对一个项目的设定会影响子项目,子项目的设定会覆盖继承自父项目的设定(但具体每个操作的效果要看具体的操作,并非没有特例)。
简单地说,项目就是虚拟目录(并且通过工作目录和外部实际目录对应)。
2.4工作目录WorkingFolder
工作目录是项目或文件操作时的默认路径。
一般来说,我们总是用一个本地目录对应VSS的一个项目,签入、签出、修改都是在这个工作目录下进行。
大致可以说,工作目录下放的就是VSS的项目的私人副本,我们在这个副本上工作。
注意,多数操作都允许改变操作位置,所以说工作目录只是个“默认”目录。
2.5签入、签出
签出获得文件修改权,签入将修改后的文件放回VSS库并放弃修改权。
必须先签出才能修改文件。
2.6基本工作方式
VSS里面的东西是正式的东西,每个人的本地版本都只是临时的。
每个人先获取一套只读的版本,然后签出要修改的文件,修改完毕再签入VSS,这样新的修改就算生效,别人签出或取得最新版的时候就可以看到刚才的修改。
一般我们禁止多人同时签出。
如果允许多人同时签出则签入时后签入者会被告知版本冲突,此时需要先合并差异然后才能签入。
3作业指导书
3.1客户机作业指导书
3.1.1准备工作
顺序步骤相关章节
1)安装客户机软件4.1
2)向管理员获取VSS库位置、帐号
3)打开VSS库,修改密码4.2.3,4.3
4)设置工作路径4.4.2
3.1.2获取文件
顺序步骤相关章节
1)确认文件不是自己签出的
2)在项目或文件上使用右键菜单“GetLatestVersion”获取最新版本4.4.3,4.5.1
3.1.3修改文件
顺序步骤相关章节
1)确认文件没有被人签出
2)在项目或文件上使用右键菜单“CheckOut”签出4.4.4,4.5.2
3)修改文件
4)比较文件差异,检查修改的内容4.4.8,4.5.7
5)在项目或文件上使用右键菜单“CheckIn”签入项目或文件,或者在项目比较界面用右键菜单签入,如果需要继续编辑,可以选择“保持签出”。
签入时要填写说明。
4.4.5,4.4.8,4.5.3
6)比较文件差异,确认修改已入库4.4.8,4.5.7
3.1.4脱机工作(未签出的情况下修改)
如果暂时无法连接VSS库,或者文件已被他人签出,请遵守本作业指导。
注意,对每个文件单独操作。
顺序步骤相关章节
1)将文件的只读属性去掉
2)修改文件
3)备份文件到其它位置
4)确认文件没有被人签出(别人已经签入)
5)在文件上使用右键菜单“CheckOut”签出,签出时选择保留本地版本,如果误操作,请用步骤3所作的备份恢复。
4.5.2
6)比较文件差异,手工合并他人的修改4.5.7
7)在文件上使用右键菜单“CheckIn”签入文件,签入时要填写说明。
4.5.3
8)比较文件差异,确认修改已入库4.4.8,4.5.7
3.2管理员作业指导书
3.2.1准备工作
顺序步骤相关章节
1)购买正版VSS软件
2)以功能最全方式安装VSS4.1
3)建立存放VSS库的目录
4)创建新数据库4.2.4
5)配置数据库4.2.6,4.2.7
6)在操作系统为VSS库建立用户组
7)将VSS库目录完全共享给用户组(共享属性)
8)将VSS库目录的修改权限分配给用户组(安全属性)
9)将客户端安装程序共享(完整安装程序或6.0版安装以后的客户安装目录)
3.2.2项目管理
顺序步骤相关章节
1)建立新项目4.4.1
2)为每个使用者建立新用户4.2.5
3)为每个使用者分配权限4.2.6
4)设置二进制文件类型4.2.8
5)杂项发布版本4.4.9,4.4.7
6)杂项查看、恢复删除的文件4.4.11
7)杂项定期备份VSS库目录
4指南
4.1安装
4.1.1VSS6.0的安装
微软产品的安装一向简单,只有少数选项需要说明一下。
安装类型包括“SHAREDDATABASESERVER”、“CUSTOM”和“STAND-ALONE”三种,第一种共享数据库服务器是完全安装,第二种定制安装的默认值也是完全安装,因为这个软件本来就很小,所以选前两种就行了,第三种单机安装就是单机版。
此软件的安装与标准的Windows程序略有不同,安装过程中检查已经安装的旧产品的方式是搜索整个文件系统,因此可能将同一电脑上的其他操作系统上安装的VSS检查出来,此时不必理睬安装程序的警告,将安装位置改到合适的地方继续安装就行了。
安装过程可能还会提示数据库版本的问题,新的V6数据库V5软件不能访问,一般来说总是应该使用更新版本的数据库,再说升级VSS客户端软件是很容易的。
安装完成以后得到一个VSS目录,这个目录包含了一切:
程序文件、配置文件、默认数据库、用于网络安装的客户端安装程序。
如果这个默认数据库需要在网络上共享(一般总是需要的)则将这个VSS目录共享,并给相关人员设置完全访问的权限(即使这个用户只是VSS数据库的只读用户)。
注意,目录的安全属性与共享权限不同,“ProgramFiles”目录下子目录和文件的访问权限可能是受限制的,所有VSS用户在VSS目录的安全属性也必须是完全访问的。
这样修改安全属性:
在VSS目录上点右键,选择“属性”,切换到“安全”属性页,设置权限,然后点下面的“高级”按钮,选中高级里面最下面的“重置所有子对象的权限并允许传播可继承权限”选择框,点“确定”退出高级,再点确定使修改生效。
安全提示:
因为VSS数据库要在网络上完全共享,所以网络要安全,如果有删除所有文件的病毒就会出大麻烦,一般的只感染特定文件类型的病毒危害相对小一些,无论如何,安全最重要。
4.1.2VSS8.0的安装
我没有见到独立的版本,整合在VS2005的版本没什么安装选项。
4.2数据库管理
4.2.1介绍
VSS的数据库是一个目录,目录下包含若干个文件和目录,“srcsafe.ini”是关键文件,此文件用来标识一个VSS数据库。
VSS客户端打开一个数据库的方式就是找到这个文件,所以共享数据库的方式就是简单地共享包含这个文件的目录。
另外一个文件“users.txt”记录用户信息。
还有三个目录:
“data”、“temp”和“users”,分别存放数据库的内容、临时的信息和用户的相关数据。
安装VSS软件的目录除了上面所说的VSS数据库的文件外还包含几个目录存放VSS程序,根据安装类型不同可能还包括网络客户端安装程序。
VSS不存在服务程序,一切都通过文件操作进行。
最简单的备份方式、也是最可靠、绝不会出错的方式就是备份整个目录。
另一个方式是定期取得数据库里所有文件的最新版本,只对最新版本进行备份。
为了避免保存大量不必要的版本,可以对每个项目建立一个VSS数据库,这个数据库保存所有的变更(包括开发过程中的大量尝试性的变更),而公司级的受控库只保存正规的版本。
安装VSS软件的时候可能已经安装了一个数据库,那么这个数据库就是默认的数据库,数据库都用位置命名,目录名字或者网络位置的名字(名字其实是无关紧要的,数据库的实际位置才是关键)。
VSS软件在程序菜单中包含四个程序,其中两个——分析并修复数据库、分析数据库——都是很少用的,另外两个VSSAdmin程序(VisualSourceSafe6.0Admin)和VSS浏览器(MicrosoftVisualSourceSafe6.0)是最常用的。
另外还有一些其他程序并未出现在程序菜单,需要阅读帮助文件挖掘,VSS支持命令行方式,有编程接口(不然开发工具是如何与VSS整合的)。
VSS8.0特性:
程序组不再有分析并修复数据库、分析数据库这两个程序,当需要的时候VSSAdmin程序会提供使用这两个程序的方法。
每个数据库初始拥有两个用户:
“Admin”和“Guest”,都拥有全部权限并且没有口令(因为Admin没有口令是不安全的,所以初次打开Admin程序会得到一个安全警告)。
Admin用户是超级用户并且无法被删除也不能修改权限。
Admin口令是最重要的,因为默认情况下VSS程序会用上一次的用户名和口令登录VSS,所以一般用户忘记口令是很常见的,这时候就需要Admin用户使用Admin程序重新设定用户的口令了(建议改变默认设置,禁止自动登录)。
4.2.2VisualSourceSafe6.0Admin程序
打开Admin程序要求输入口令,但并不总是这样,VSS会保存上次使用的数据库和用户名、口令,这样下一次使用VSS就不需要输入口令,进入VSS的Admin或浏览器程序以后可以再改变数据库。
Admin程序的界面如下:
基本上这是个相当简单的界面,功能都通过菜单实现。
界面的主要部分用来显示当前的用户列表、权限和登录状态,不支持右键,仅支持双击,双击可以修改用户的名字和权限。
权限很简单,默认为“Read-Write”,可以修改为“Read-Only”,显然这不会使我们满足,我们需要的是“ProjectRights”,对每个目录给每个用户特定的权限,这些权限包括只读、写入、添加删除重命名、销毁,除了不能控制到文件,这基本上满足了我们的要求。
具体操作后面会介绍,相当简单。
4.2.3打开指定的数据库
当前打开的数据库也许并不是需要的,菜单“Users”下的第一个菜单“OpenSourceSafeDatabase”用来打开一个不同的数据库,打开新数据库会关闭原来的数据库。
图中的“Open”按钮不可用是因为temp数据库正是现在打开的,选择一个不同的数据库,可以用“Open”按钮打开它。
“Browse”按钮用来在系统中寻找一个数据库,寻找的目标就是srcsafe.ini文件,寻找的位置范围就是一般Windows查找文件的范围,从桌面开始,包括了“我的电脑”和“网上邻居”。
“Remove”用来从列表中删除一个数据库信息,并非删除数据库。
下面的“Username”不可编辑是因为Admin程序只允许Admin用户使用,如果是在VSS浏览器下执行这个功能则可以编辑。
4.2.4创建新数据库
很多时候我们并不喜欢默认的数据库,可能是因为它的安装位置太深了。
我们也可能为了不同的目的创建几个不同的数据库。
创建数据库使用菜单“Tools”下的“CreateDatabase”,仅仅需要选择一个存放数据库的目录即可(不会在这个目录下创建“VSS”目录,所有文件和目录直接放在选择的目录下,因此这个目录应该是新建的专门用来放VSS数据库的)。
新创建的数据库的目录里面只有数据库,不包含VSS程序。
VSS8.0会提出一些问题,但这些问题都是可以在后面更改的。
4.2.5用户管理
用户管理无非是添加、删除、编辑、修改口令,都在“Users”菜单下,一目了然。
所有能设定的不过是用户名、口令和是否只有只读权限而已。
最重要的功能是“ProjectRights”,下面介绍。
4.2.6使用项目权限ProjectRights
项目权限是针对每个项目的用户权力。
使用项目权限首先要启用项目权限,在菜单“Tools”下的“Options”里面的“ProjectRights”选项卡上,选中最上面的“EnableRightsandAssignmentsCommands”选择框即可。
一般新用户的默认权限建议只给一个“Read”就行了,如果这个库包含很多项目(企业意义的)那么就连“Read”也不要给。
然后确定。
这时“Tools”下面原来不可以使用的菜单全部可以使用了。
现在可以给项目设定权限了。
打开菜单“Tools”下面的“ProjectRights”,显示如下窗口:
在左边选择项目,右边上面选择一个用户,右边下面设定用户的权限,如果只有“Read”权限可以选择的话说明这个用户是“Read-Only”,在编辑用户那里去掉只读就可以了。
因为可以对每一级每个目录单独设定权限,因此很容易疏忽。
设定完权限后最好再逐级检查一遍看有没有发生错误,有可能发生这样的情形:
试图通过对级别较高的项目的权限的禁止阻止用户访问整个项目,然而对子项目用户有单独设定的访问许可,因此对子项目实际上并未禁止访问。
四种访问权限含义如下:
“Read”,读
“CheckOut/CheckIn”,签入/签出,也就是写
“Add/Rename/Delete”,添加/重命名/删除,删除的文件仍然存储在数据库中,可以被恢复,直到被销毁
“Destory”,销毁,销毁的文件就再也找不回来了,这个是会造成无法挽回的后果的权力,通常不应该赋予任何一个一般用户,仅保留给管理员(Admin,不能为管理员设定权限,它永远可以做任何事)。
这四种权力逐个包含,选中下面一个上面所有的会被自动选中,取消上面一个下面所有都回被自动取消。
如果一个用户在当前选择的项目上什么权力都没有就不会显示在用户列表中,必须用“AddUser”添加进来,“DeleteUser”则删除用户在当前项目的所有权力并把用户从列表中清除。
菜单“Tools”下的“RightsAssignmentsforUser”则提供了对单一用户的项目权力指派。
功能相同,视图不同。
4.2.7禁止自动登录
默认情况下用户可以使用登录电脑或网络的用户名自动登录,这种方式存在安全隐患,可以通过设定要求每次登录都必须提供用户名和口令。
菜单“Tools”下的“Options”里面的“General”选项卡上取消“Usenetworknameforautomaticuserlogin”即可禁止自动登录。
另外,可以将用户的操作记录在日志文件里,在文字“Logallactionsinjouralfile:
”下的编辑框输入带路径文件名即可,为了安全日志文件应该放在只有管理员能够访问的目录里。
(注意,该功能用于网络共享的库时必须是一个网络路径,而且必须可写)
4.2.8设置文件类型
菜单“Tools”下的“Options”里面的“FileTypes”选项卡可以设定文件类型,一般应对“BinaryFiles”补充其它的二进制文件类型,比如“*.pdf”。
如果没有设置可能会导致VSS用文本方式存储,结果存储的文件内容错误。
4.3使用VSS浏览器
4.3.1借助VSS开发项目
在程序菜单VSS的浏览器叫做“MicrosoftVisualSourceSafe6.0”,用来操作VSS。
很多开发工具可以直接操作VSS,因此不需要使用这个工具。
另外有些开发工具不支持和VSS浏览器混用(比如MSVisualStudio里面的InterDev),如果混用,开发工具可能不能正确地处理文件,因此如果项目在使用开发工具整合的VSS功能,建议不要跳过开发工具直接使用VSS浏览器。
如果项目采用VSS作为版本管理,那么被认可的代码(以及其它文档)就应当是VSS数据库里面的最新版本(而不是某个人的版本)。
每天早上,每个人都从VSS中取得(叫做Get)最新版本放在自己的工作目录下(这保证每个人用的都是最新的,并同时在每个人的电脑上做了备份),然后获得特定文件的修改权(叫做CheckOut,签出),然后开始编辑,编辑完成之后放回并放弃修改权(叫做CheckIn,签入),签入以后其他人再去取得新版本的时候就会取得这个签入的版本了。
VSS可以记录每个变化,每个文件的每次签入都产生一个新版本,可以单独取得旧版本。
VSS可以给整个项目贴上版本标签(LabelVersion),比如“beta2”,这个版本是用户定义的版本(与VSS自身对每次签入的自动编号不同),可以针对版本标签取得版本,一个标签标识的是做标签之前签入的最新版本。
VSS可以方便地比较目录或文件,可以是VSS里的不同版本或不同项目互相比较,也可以是VSS和VSS之外的目录或文件比较,也可以是与VSS无关的外部文件或目录的相互比较,比较的结果包括相同的、不同的、增加的、删除的,对于文本文件可以直接可视化地显示差异。
除非Admin用户专门将数据库配置为允许多人签出,否则不会有两个人同时修改一个文件的情况发生(如果多人签出,签入时会要求首先合并,确认合并完成才能签入)。
尽管提供了多人签出、分支开发、版本合并的功能,然而实际的合并操作仍然完全依靠脑力进行,因为工具只能指出两个版本有这些差异,但是这些差异如何合并却完全依赖脑力判断,绝非简单地合并为一个文件那么容易。
因此还是尽可能地避免多人签出或分支开发。
4.3.2VSS浏览器
VSS浏览器拥有如下界面,工具栏和右键菜单很完善,使用起来非常方便。
界面下边的状态栏用来输出一些没用的信息,不必管它。
左边是项目列表,看起来就是一个目录树,根用“$/”表示,可以手工添加项目,然后往项目里面添加文件,也可以一次把一个目录(可以递归包含子目录)添加进来成为一个项目。
右边是项目下的文件,不包括子项目,显示的信息包括签出的用户的名字和最后一个版本的时间以及签出位置。
右边上面两个文本是当前的项目名称和项目的工作路径(工作路径是项目默认的本地目录)
对项目可做的操作主要包括:
创建项目、删除项目、添加项目或文件、设置项目工作路径、设置版本标签、取得最新(最后)版本、签出、签入、撤销签出、查看历史、比较差异、查看属性(没什么重要属性,这个功能的关键价值是这里可以恢复删除的文件)。
对文件可做的操作主要包括:
查看、编辑、签出、签入、撤销签出、取得最新(最后)版本、查看历史、比较差异、删除、重命名、查看属性(文件类型很重要,二进制文件无法比较细节,只能比较相同或不同,文本文件则可以按行比较,但有时VSS不能正确识别文件类型,需要手工修改)。
4.3.3设置对项目递归操作
菜单“Tools”下的“Options”可以设定一些选项,唯一值得修改的就是“General”页面的“Actonprojectrecursively”选项,选中该选项可以在任何对项目操作的时候都自动选择递归,非常方便。
4.3.4修改密码
菜单“Tools”下的“ChangePassword”修改密码,请保持密码安全。
4.4项目操作
4.4.1添加项目和文件
VSS6.0版:
选中项目树的节点,然后点右键选择“CreateProject”或者工具栏上的第一个(也许你的版本不是第一个)按钮“CreateProject”或者菜单“File”下的“CreateProject”可以在选中的节点下创建一个新项目(看起来就是创建一个子目录,事实上也没什么差别),需要输入的是项目的名字,支持中文,有兴趣的话顺便把注释也填上,省得以后忘了这个项目是干什么的。
很多时候可以通过添加一个目录以及目录下的所有内容来创建项目。
选择“AddFiles”命令可以添加项目或