2022年vss简明教程 .pdf

上传人:C****o 文档编号:39737344 上传时间:2022-09-07 格式:PDF 页数:18 大小:252.57KB
返回 下载 相关 举报
2022年vss简明教程 .pdf_第1页
第1页 / 共18页
2022年vss简明教程 .pdf_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《2022年vss简明教程 .pdf》由会员分享,可在线阅读,更多相关《2022年vss简明教程 .pdf(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Here is a Floating Frame 名称Visual SourceSafe简明培训教程(Visual SourceSafe Training Short Course)作者晨光(Morning)简介对于采用Visual SourceSafe 6.0作为版本控制工具的项目及产品开发,本教程针对不同用户角色,提供有关该软件的若干使用指导。声明本教程版权为晨光(Morning)所有,未经允许,请勿复制、传播,谢谢。目录1 说明2 概述3 管理员部分3.1 维护用户列表o3.1.1 添加用户o3.1.2 更改密码o3.1.3 创建用户列表o3.1.4 删除用户o3.1.5 编辑用户属性3

2、.2 管理数据库o3.2.1 分析数据目录o3.2.2 数据库打包o3.2.3 清除临时目录o3.2.4 锁定数据库o3.2.5 数据库恢复o3.2.6 使用多个数据库3.3 有关权限的话题o3.3.1 权限的传递o3.3.2 安全访问权限4 普通用户部分4.1 对工程、文件的一般性使用o4.1.1 打开/关闭数据库o4.1.2 创建新工程o4.1.3 添加文件、目录、工程o4.1.4 删除和恢复文件、工程名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 18 页 -o4.1.5 移动文件和工程o4.1.6 重命名文件、工程o4.1.7 设置工作目录4.2 签入、签出、获取、查看及

3、相关操作o4.2.1 签入签出操作o4.2.2 撤销签出o4.2.3 获取最近版本o4.2.4 获取早期版本o4.2.5 获取和查看文件、工程o4.2.6 回滚到以前版本o4.2.7 多人同时签出一个文件o4.2.8 合并o4.2.9 排他性签出o4.2.10 对工程的Cloak操作4.3 Branch、Share、Label和 Pin 操作o4.3.1 对文件和工程的Branch/Share操作o4.3.2 给文件、工程指定标签o4.3.3 Pin操作4.4 其他操作o4.4.1 扩展关键字o4.4.2 使用 Shadow目录o4.4.3 性能优化o4.4.4 查找文件o4.4.5 设置密码

4、o4.4.6 编写批处理文件o4.4.7 定制 SS.INI和 SRCSAFE.INI文件附录A1 同时维护一个工程的多个版本A2 VSS中部分命令的对应权限级别1 说明一、本教程针对不同使用对象提供Visual SourceSafe 6.0的若干使用指导,阅读对象包括Visual SourceSafe的管理员和普通用户,以及希望了解如何采用Visual SourceSafe进行软件版本控制的管理人员。管理员或普通用户在使用Visual SourceSafe的过程中,如果遇到不知如何操作,或者对某些操作的注意事项不甚了解等类似情况时,可以查阅本教程。二、本教程的管理员部分 是管理员必读的,如果

5、管理员在除履行其自身职责之外,还兼任普通用户的角色,则可以参阅教程中的 普通用户部分。作名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 18 页 -为一般的普通用户,只需阅读 普通用户部分即可。三、教程中列举的操作,加星号者,为高级用法(Advanced Usage),其余为基本用法(Basic Usage)。所谓基本用法是指一些通常使用频繁的,或者是使用方法较为简单的操作。所谓高级用法是指通常使用频率不多,或者较为重要的,或者用法复杂的操作。四、本教程内容摘选并改编自Visual SourceSafe 6.0英文版联机帮助,从中提取了诸多重要信息、容易忽略的内容以及若干注意事项

6、。一些基本内容(主要指某些基本操作的使用方法)只简单列举了条目,欲了解这些条目的详细情况请查看联机帮助的相关部分,可以通过列于这些条目之后的英文说明在联机帮助中搜索到相关内容。五、本教程不涉及Visual SourceSafe图形用户界面操作的解释说明,对指定功能的具体操作步骤请查看联机帮助的相关部分。可以通过列于该功能之后的英文说明在联机帮助中搜索到相关内容。六、在其他Visual Studio产品中(例如:Visual C+)可以集成Visual SourceSafe的功能,本教程不涉及有关在其他集成开发环境下如何使用Visual SourceSafe功能的内容,这部分内容主要针对普通用户

7、。对这些内容的了解,在阅读完本教程之后,将会变得容易。此外,某些操作在Visual SourceSafe环境下使用更为方便。2 概述Visual SourceSafe(以下简称VSS)是一种版本控制管理工具。它通过将各种类型的文件(包括:文本文件、图像文件、二进制文件、声音文件、视频文件等)存入其内部数据库的方式,帮助你有效地管理工程(Project,关于 VSS 中工程的概念请见下面)。它允许你在多个工程间共享同一组文件;你可以将一个文件添加到数据库中,以便其他相关人员使用;任何对文件的更改将被记录下来,以便在任何时候可以恢复到该文件的某个旧版本。VSS 的工程组织方式使团队协作开发变得更为

8、容易和直观。一个工程是一组存放于 VSS数据库内的任意类型的文件,一个工程类似于操作系统中的目录,但 VSS为其提供了版本控制、历史记录、文件合并等更多的功能支持。3 管理员部分3.1 维护用户列表(Maintain the User List)3.1.1 添加用户(Add a User)此处略,详细内容请查阅联机帮助。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 18 页 -3.1.2 更改密码(Change Passwords)此处略,详细内容请查阅联机帮助。3.1.3 创建用户列表(Create a User List)此处略,详细内容请查阅联机帮助。3.1.4 删除用户

9、(Delete a User)此处略,详细内容请查阅联机帮助。3.1.5 编辑用户属性(Edit User Attributes)此处略,详细内容请查阅联机帮助。3.2 管理数据库(Manage the Database)3.2.1 分析数据目录(Analyze the Data Folder)*建议你定期备份完整的VSS 数据目录(参见数据库打包)。VSS 数据目录中包含有全部工程和文件的数据库信息。由于网络或操作系统的某些故障,VSS 中的文件可能存在错误和不一致问题,Analyze VSS DB工具被用来查找和修复这些问题。在运行该工具前,需要锁定(Lock)所有用户并要求他们退出VSS

10、,用户可以在一个数据库被锁定时保持文件的签出状态(参见 锁定数据库)。建议分两次运行Analyze VSS DB工具,第一次修复错误,第二次核查是否仍然存在没有被修复的错误。数据目录的具体位置是由 Data_Path初始化变量在SRCSAFE.INI文件中指定的(参见定制SS.INI和 SRCSAFE.INI文件)。3.2.2 数据库打包(Archive Databases)*你可能需要定期地备份VSS 数据库,或者数据库的某一部分。VSS Administrator工具提供了此项功能。它可以:节省 VSS 数据库服务器的磁盘空间。加快显示历史记录操作(Show History)的速度。便于在

11、多个VSS 数据库间传递文件和工程,保持历史记录完整无缺。备份全部或部分VSS 数据库内容并压缩成文件。3.2.3 清除临时目录(Clean Temporary Folder)VSS 通常在运行时把临时结果放在临时目录里,并在退出前将之删除。由于某些原因,例如非正常重启,可能导致临时内容残留在目录中。作为管理员,你有责任定期清除临时目录的内容。每隔几周一次,当没有任何用户运行 VSS 或 VSS Administrator时,请清除临时目录的内容。临时目录的名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 18 页 -具体位置是由Temp_Path初始化变量在SRCSAFE.INI

12、文件中指定的(参见定制 SS.INI和 SRCSAFE.INI文件)。3.2.4 锁定数据库(Lock a Database)数据库锁定功能将不会自动锁定那些当前已经登录的用户,你应该在锁定数据库之前要求登录用户退出VSS。在重新允许用户使用VSS 之前,需要解除对数据库的锁定。3.2.5 数据库恢复(Restore Databases)此处略,详细内容请查阅联机帮助。3.2.6 使用多个数据库(Work with Multiple Databases)*缺省时,VSS 将所有文件集中放在一个数据库中。如果可能,应尽量使用一个数据库存放所有文件,这比分多个数据库存放要好,因为:你不能在多个数据

13、库间共享(Share)文件(参见对文件和工程的Branch/Share操作)。将位于多个数据库中的内容集中在一起是比较困难的,需要使用VSS Administrator的 Archive功能(参见 数据库打包)。出于安全的考虑,VSS 的用户信息,包括密码在内,是和数据一起存放的。如果为了安全起见,要将信息拆分成多个独立的数据库,这种信息存储方式将带来极大便利,但你必须为每个数据库都单独添加用户。3.3 有关权限的话题(About Rights)3.3.1 权限的传递(Rights Propagation)当你添加了一个新用户,并为该用户设置了针对某个工程的权限时,将在 VSS 数据库中建立起

14、一个assignment。该 assignment将会沿着工程树向下传递直至遇到另一个assignment。例如:针对工程$/,你为用户A 指定了 Add 权限(参见 安全访问权限),而对于工程$/Sample,你没有为用户显式指定权限,则该用户将对工程$/Sample自动拥有Add 权限。当你在工程$/Sample/BusinessObject处为其指定了Read权限后,将阻止早先assignment的向下传递过程,所以用户A 对该工程(指$/Sample/BusinessObject)及其子工程都只具有Read权限了。当你首次添加一个用户时,该用户在工程$/处被赋予的权限由缺省权限 决定,

15、缺省权限是通过在VSS Administrator里设置 Project Security属性页的内容来定义的。你可以通过修改该页内容,全局性地变更名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 18 页 -所有用户的缺省权限。3.3.2 安全访问权限(Security Access Rights)3.3.2.1 缺省安全设置当安装 VSS 后,缺省安全设置将被启用。你可以利用定制的方式,使某些用户拥有对某些工程和某些VSS 命令的特定权限。缺省安全设置很简单,当添加新用户时,你只有两种级别的访问权限可供选择:只读权限(Read-only rights):用户可以查看VSS 中的

16、任何内容,但不能更改。可读写权限(Read/write rights):用户可以查看和修改VSS 中的任何内容。如果这样的访问权限级别足以应对日常使用,那么就无需再增强安全控制的级别了。所有的 VSS 安全管理都在VSS Administrator中进行。任何能运行该程序的用户都可以改变VSS 的任意特性,所以最好只有管理员才使用该程序。3.3.2.2 更高级别的安全控制在 VSS 中,对工程的安全性控制,是通过制定用户访问权限来实现的。每个工程仅能被那些具有相应权限的用户访问到,每个命令仅能被那些具有相应权限的用户使用。可以通过VSS Administrator来定制权限,以达到更高级别的安

17、全控制。以下是 VSS 的权限级别列表,下列每种权限都拥有该权限之前的全部权限。例如:拥有 Check Out权限的用户,也将同时拥有Read 权限。(参见附录 A2:VSS 中部分命令的对应权限级别)权限描述Read(R)类似于缺省安全设置中的只读权限Check Out(C)可以使用Check Out/Check In/Undo Check Out等命令对文件进行修改Add(A)可以使用Add/Delete/Label/Rename等命令对文件进行修改Destroy(D)可以使用Destroy/Purge/Rollback等命令对文件实施永久性删除操作名师资料总结-精品资料欢迎下载-名师精心

18、整理-第 6 页,共 18 页 -4 普通用户部分4.1 对工程、文件的一般性使用(Normal Use about Projects and Files)4.1.1 打开/关闭数据库(Open/Close a Database)此处略,详细内容请查阅联机帮助。4.1.2 创建新工程(Create New Projects)此处略,详细内容请查阅联机帮助。4.1.3 添加文件、目录、工程(Add Files,Folders,and Projects)此处略,详细内容请查阅联机帮助。4.1.4 删除和恢复文件、工程(Delete and Recover Files and Projects)VS

19、S 提供了 3 种删除文件的方法:Delete:VSS 只把指定文件从当前工程中删除,而在VSS 数据库中仍留有该文件的记录。此外,其他共享了该文件的工程仍保留此文件(参见 对文件和工程的Branch/Share操作)。Destroy:VSS 将把指定文件从VSS 数据库中彻底删除,其后将无法恢复。Purge:永久性删除已被Delete掉的文件,其后将无法恢复。对于共享文件,Delete和 Destroy仅将文件从当前所选工程中删除掉,其他共享了该文件的工程,以及VSS 数据库中,仍留有此文件。4.1.5 移动文件和工程(Move Files and Projects)移动一个文件的唯一方法是

20、,在文件新所在位置的上一级工程(parent project)处使该文件共享(参见对文件和工程的Branch/Share操作),然后将原有工程(original project)下的该文件Delete或者 Destroy(参见删除和恢复文件、工程)。移动后,文件的历史记录将被保留。通过使用Move命令,你可以将一个子工程(subproject)从某个上级工程重置到另一个工程下。该操作不会改变子工程的内容和历史记录,但它会影响上级工程的历史记录(包括子工程所在的原有上级工程和新的上级工程)。当移动一个工程后,你将无法重建原有上级工程的某个旧版本。名师资料总结-精品资料欢迎下载-名师精心整理-第

21、7 页,共 18 页 -4.1.6 重命名文件、工程(Rename Files or Projects)若某个文件被多个工程所共享,对该文件的重命名将影响所有工程,而在 Branch状态下,则不影响(参见 对文件和工程的Branch/Share操作)。4.1.7 设置工作目录(Set Working Folders)此处略,详细内容请查阅联机帮助。4.2 签入、签出、获取、查看及相关操作(Check In/Out、Get、View and Other Related Use)4.2.1 签入签出操作(Check In and Check Out Files)此处略,详细内容请查阅联机帮助。4.

22、2.2 撤销签出(Undo Check Out)执行该操作时,若用户选择了替换本地文件,则用户将丢失最近一次签出后对该文件在本地的更改。4.2.3 获取最近版本(Get Latest Version)此处略,详细内容请查阅联机帮助。4.2.4 获取早期版本(Get Earlier Version)此处略,详细内容请查阅联机帮助。4.2.5 获取和查看文件、工程(Get and View Files and Projects)Get 操作将文件或工程拷贝至本地的工作目录,并设置为read-only属性。可以用View操作查看文件内容,此时用户无需设置工作目录。尽量不要删除vssver.scc文件

23、。本地工作目录及每个子目录下都包含一个这样的文件,VSS 利用其中记录的信息确定本地目录中哪个文件已经更改了。删除后,将使新一次的Get 操作速度减慢。4.2.6 回滚到以前版本(Rollback to Previous Versions)该操作将使文件的内容恢复到先前某个版本时的状态,它将使所有在该版本后所做的改动丢失。如果你所回滚的文件被多个工程共享,则操作只影响你所指定的那个工程,并且它会自动实行Branch操作(参见 对文件和工程的 Branch/Share操作)。建议你使用虚拟回滚(Virtual Rollback),它将不会使随后的改动永久丢失。具体操作如下:名师资料总结-精品资料

24、欢迎下载-名师精心整理-第 8 页,共 18 页 -选择你要回滚的文件并签出使用 Get命令获取某个原有版本到本地签入该文件4.2.7 多人同时签出一个文件(Check Out Multiple Files)*缺省状态下,一个文件只允许一个人签出,管理员可以通过修改配置,允许多人同时签出。此时,VSS 将跟踪所有签出该文件的用户。每当用户签入时,VSS 都将和当前存于数据库内的最新版本进行比较,若用户修改的是同一文件的不同处,VSS 将进行简单的合并(Merge),否则提示用户,并且不允许签入。用户可以通过VSS 提供的 Visual Merge工具,比较存放于 VSS 数据库中的文件和本地文

25、件的异同,手工修改本地文件,直到认为已经可以签入时,方才执行最终签入操作。(参见合并)4.2.8 合并(Merge)*在 VSS 中,合并可能发生在3 种场合下:使用Multiple Checkout的工作方式;合并原先已经Branch了的文件;获取(Get)文件。Multiple Checkout:若多个用户同时签出一个文件,第一个用户只要简单的签入就可以了。后续用户也可以签入,但他们的更改将需要和其他所有用户的更改合并,VSS 将得到完整的更改内容(参见多人同时签出一个文件)。Branch:当被 Branch的文件合并到其中一个分支时,VSS 将会把在另一个分支上所做的改动合并到该分支上(

26、参见对文件和工程的Branch/Share操作)。Merge on Get:在 Multiple Checkout工作方式下,当使用Get Latest Version操作时可能引发合并操作,此时保存在VSS 数据库中的内容将合并到本地文件。但如果某个文件是排他性签出的,则不会引发合并操作(参见排他性签出)。在完成一个合并之后,VSS 遵循如下规则:如果仍有冲突,VSS 维持文件的签出状态,为了使文件能顺利签入,你必须排除这些冲突。如果你使用Merge Branches命令,将一个文件合并到一个工程中,而该工程中的对应文件已被签出,该文件将继续保持签出状态(参见对文件和工程的Branch/Sh

27、are操作)。在任何其他时候,VSS 将会提示你,或者在合并后自动签入,或者保持文件的签出状态以使你在更新VSS 数据库中内容之前再核查一边。缺省情况下,当发生冲突时,VSS 将启用其Visual Merge工具。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 18 页 -4.2.9 排他性签出(Exclusive Check Out)*允许多人同时签出一个文件是针对整个VSS 数据库而言的,但用户仍可以根据实际情况,针对某些文件修改该规则。对某个文件实施排他性签出,则其他用户将无法签出该文件,直至该用户使用了签入操作。4.2.10 对工程的Cloak操作(Cloak Proje

28、cts)*若对某工程实行了Cloak操作,则当对该工程的上一级工程进行Get/Check In/Check Out/Undo Check Out/Project Difference操作时,将不会影响该工程及其子工程。而在该工程上进行类似操作时,则和平常得到的结果一样。这一属性将传递给其下的子工程。例如:某个工程其路径为$/Application,下面有三个子工程:$/Application/Code,$/Application/Test,$/Application/Docs,而Docs 工程下的内容可能对你没有任何用处。当你每次从$/Application处进行 Get操作后,都需要从本地删

29、除多余的Docs目录。此时可以对Docs进行 Cloak操作。这样,每次的Get 操作将只把Code和 Test 下的内容放到本地。如果你需要获取Docs工程下的内容,则可以单独从Docs处进行Get 操作。4.3 Branch、Share、Label和 Pin操作(Branch、Share、Label and Pin)4.3.1 对文件和工程的Branch/Share操作(Branch and Share Files and Projects)*在 VSS 中,通过Share操作,一个文件可以被多个工程共享,在任何一个工程中对该文件的更改,都将反映到其他相关工程里。Branch操作则消除这种

30、共享,每次将一个被共享的文件拆成两个分支,在不同工程中分别跟踪该文件。通过查看文件属性的Links属性页可以了解该文件被哪些工程共享,通过查看Paths属性页可以了解文件的分支状况。例如:产品目前的正式版本为2.0(工程路径为$/Application),在加入新功能后将升级为3.0。但在开始升级的过程中,其间的一个过渡版本2.1 存在 bug,需要修改。此时可以进行如下操作:选择被Label标识为2.0 的那个版本(参见给文件、工程指定标签),利用 Share功能创建过渡版本(工程路径为$/Application2.1),此时两个工程中的文件是共享的,且$/Application2.1中的所

31、有文件都处于Pin 状态(参见Pin 操作),即:在向 3.0升级的过程中,对$/Application中相关文件的更改,将不影响$/Application2.1下的内容,但此时文件仍是共享的。仅对需要修改bug的文件采取Branch操作。这样做的好处是,中间版本的bug 修改工作和3.0 的升级工作可以同时进行,并且最大限度的降低了所需的存储空间。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 18 页 -4.3.2 给文件、工程指定标签(Label Files and Projects)*VSS 使用 3 种方式跟踪文件的历史记录:内部版本号,日期,用户自定义标签。标签可以

32、是一个不超过31 个字符长度的串,例如:1.0、2.01b、Final Beta、Approved for QA。应用 Label功能,用户就可以获取某个特定时期的软件内容了。所有当前工程下的文件和子工程都将继承该标签。注意下面几点:当使用 Label功能时,表明你在所选工程的历史记录里创建了一个新的版本,但文件和工程本身的内容并未发生变化。对某个工程的某个标签再次使用Label操作将覆盖原来的标签内容。请参见附录A1:同时维护一个工程的多个版本4.3.3 Pin操作(Pin)*该功能对共享文件很有用,尽管它的使用不仅限于共享文件,也包括其他任何文件。当你对一个文件实施Pin 操作后,你将不能

33、对之做任何修改。如果一个文件在Pin 之后又被实施了Share操作,而被Pin 的那个版本同时也是被共享的版本,则所有共享该文件的工程都不能更改该文件。如果一个文件先被实施了Share操作,而后在某个工程中被Pin 了,则除了这个工程外的其余工程仍可以更改该文件(参见对文件和工程的Branch/Share操作)。4.4 其他操作(Other Use)4.4.1 扩展关键字(Expand Keywords)*VSS 可以将某些指定信息(例如:VSS 内部版本号)直接插入文本文件中。用户只要将某些关键字放入文件的注释中,每次添加(Add)或签入(Check In)文件时,VSS 都会自动查找这些关

34、键字,并将相关信息置于其后。VSS 中常用的关键字:关键字描述$Archive:$文件在 VSS 中的路径名$Author:$最近一次更改文件的用户$Date:$最近一次签入的时间名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 18 页 -$History:$文件的历史记录$Revision:$VSS 内部版本号$NoKeywords:$使 VSS 对其后的所有关键字不进行扩展例如:在某文件中加入如下一行:$Revision:$若当前该文件在VSS 内部的版本号是22,则签入后VSS 会将之修改为:$Revision:23$4.4.2 使用 Shadow目录(Work with

35、 Shadow Folders)*Shadow目录位于服务器端,包含了工程中所有的文件。这些文件既非位于 VSS 数据库中的master copy,亦非位于本地工作目录的local copy,而是最近一次签入的所有内容。Shadow目录应该由管理员来设置。是否使用Shadow目录功能是可选的,通常在如下两种情况下可以考虑使用该功能:为使某些用户能查看文件(但不能更改),这些用户可能没有对VSS的访问权限。不让你的本地工作目录保留可编译的软件副本。为使每个用户都能得到一个最新版本的软件,所有用户可能希望在某个目录下集中进行编译,而非在各自的工作目录下编译。在这种情况下,Shadow目录功能通常和

36、添加(Add)、签入(Check In)之后的Remove Local Copy结合使用。Shadow目录不会跟踪子工程的变化,例如:你有一个被Shadow的工程$/A,包含两个子工程:$/A/1和$/A/2,而你又将$/A/2重命名为$/A/B,这种变化将不会被反映到Shadow目录中。你可以手工修改,或者利用 Reconcile All功能,使之保持同步。4.4.3 性能优化(Optimize Performance)*有两种方法可以改善VSS 的性能:尽可能多的将内容通过网络拷贝至本地来做;修改初始化文件对VSS 的性能进行微调。具体优化措施:在 SS.INI或 SRCSAFE.INI文

37、件中设置如下变量:名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 18 页 -Diff_Ignore(PC)=c-e-s-w-使 VSS 在进行文件比较时忽略end-of-line标记,从而加快运行效率CP_OnSelection=No 在使用 VSS Explorer时,缺省状态下,用户使用鼠标单击或使用键盘的方向键在工程列表上移动时,就会选中工程。设为 No 后,只有双击鼠标或按回车键才会选中。设置临时目录缺省情况下,VSS 将临时文件存于服务器端,但管理员可以通过修改 SS.INI中的 Temp_Path变量,将临时路径设置在本地。让管理员在SRCSAFE.INI文件中将

38、Lock_Mode变量设置为Native 这是 SRCSAFE.INI中该变量的缺省设置,把该变量设置为Native将使几乎所有的VSS 操作都得到加速。该变量只能由管理员来设置。管理员通过Disable下面的功能,也可以一定程度地改善性能:oShadow folders(参见 使用 Shadow目录)oJournal files oProject security system(参见 安全访问权限)oKeyword expansion(参见 扩展关键字)4.4.4 查找文件(Search for Files)VSS Explore的 list view缺省时只显示当前工程中的所有文件。通过使

39、用 Search命令,可以只显示符合指定要求的文件。例如:只显示.h 文件,只现实被签出的文件。Search命令是允许递归的。4.4.5 设置密码(Set Passwords)如果 VSS 管理员指定域账号为VSS 登录账号,则用户登录VSS 时将不会提示输入密码。4.4.6 编写批处理文件(Writing Batch Files)*在编写批处理文件时,一些在命令行方式下使用的交互手段需要改变。屏蔽输入(Disable Input)如果你的批处理文件中包含了一系列VSS 命令(它们可能需要整夜名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 18 页 -运行),你一定不希望程序执

40、行期间会停下来提示用户输入信息。有 3 个命令行选项可以解决此类问题。缺省时,VSS 在执行诸如添加(Add)、签入(Check In)等操作时会提示你输入注释(Comment),利用-c 选项可以避免该类提示:命令描述-c-不添加注释-cHello 使用 Hello字串作为注释-cCOMMENT.TXT 使用 comment.txt文件的内容作为注释此外,VSS 通常会要求用户回答yes 或 no,你可以使用-i 选项避免此类问题:命令描述-i-y 对所有此类提问自动回答Yes-i-n 对所有此类提问自动回答No-i 使用缺省回答VSS 也可能会提示登录名,你可以使用-y 选项提供足够多的信

41、息。重定向输出缺省时,VSS 将所有输出定向到屏幕,在命令行状态下你可以使用-o 选项分页输出,而在批处理文件中你同样可以利用-o 屏蔽输出或重定向输出。命令描述-o-屏蔽输出-oRESULTS.TXT 重定向所有输出到文本文件results.txt中,如果该文件已存在,输出内容将追加到该文件末尾。使用命令行返回值在命令行状态下运行VSS 时,VSS 会设置一些返回值来标明运行状态。你可以在批处理文件中根据VSS 的返回值采取相应措施。返回值描述名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 18 页 -100 表明出错,例如:VSS 无法找到数据库文件,或者你试图签出某个早已

42、被签出的文件。1 表明一个不是很严重的错误,将在如下三种情况下发生:当你使用ss Dir时,没有找到任何条目。当你使用ss Status时,至少有一项被签出。当你使用ss Diff时,至少有一个文件不一致。所有这些情况表明,即使本次操作是成功的,你执行的下一个 VSS 命令也可能操作失败。0 VSS 成功执行。4.4.7 定制 SS.INI和 SRCSAFE.INI文件(Customize the SS.INI and SRCSAFE.INI Files)VSS 有两类初始化文件,它们包含了VSS 的一些环境变量:SS.INI,每个用户都有一个这样的文件;SRCSAFE.INI,仅有一个,定义

43、了VSS 的一些全局变量,只有管理员才有权修改它。附录A1 同时维护一个工程的多个版本(Maintain Multiple Versions of a Project)你可以使用Share/Pin/Branch的方式,也可以使用Label方式。如果你所处的环境只要求少量的改动,比如:轻量级的patch,使用 Label比较合适;如果你正在规划大量的开发内容,使用 Share/Pin/Branch比较合适。例如:在软件处于Beta版时,你可以通过Label功能冻结(freeze)之,并同时修改Beta版的 bug。当你正同时维护着某个产品的1.1 版和 2.0版时,合理的做法是,为每个版本创建一

44、个新的工程,Share并 Pin 所有的文件,在需要的时候Branch。当 1.1 发布时,你可以将1.1 版的工程Label,而后将对1.1版的改动重新Merge到 2.0版中。下面的几个场景为你使用Label功能提供指导:场景 1:理想情况1、对即将到达Beta 1版的工程进行开发和测试。2、当你认为时机适宜时,将之Label为Beta 1。3、开始 Beta 2版的工作。场景 2:文件 A 的某个版本被错误地包含在Beta 1版中1、对即将到达Beta 1版的工程进行开发和测试。2、当你认为时机适宜时,将之Label为Beta 1。3、开始 Beta 2版的工作。4、如果发现文件A 某一

45、时期的版本被错误的包含在了Beta 1版中,选择名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 18 页 -该文件的正确版本并Label为Beta 1。5、获取(Get)Beta 1版的工程。场景 3:需将 bug-fix后的文件A 被包含在Beta 1版中,而其余文件未曾改动1、对即将到达Beta 1版的工程进行开发和测试。2、当你认为时机适宜时,将之Label为Beta 1。3、开始 Beta 2版的工作。4、你发现,包含在Beta 1版中文件A 的那个版本存在bug,必须改正,而工程中的其余文件则不须改动。5、签出该文件,改正,然后签入。6、将工程重新Lable为Beta

46、 1(你将被询问是否确认删除原有标记)。场景 4:需将 bug-fix后的文件A 包含在 Beta 1版中,而其余文件也作了改动1、对即将到达Beta 1版的工程进行开发和测试。2、当你认为时机适宜时,将之Label为Beta 1。3、开始 Beta 2版的工作。4、你发现,包含在Beta 1版中文件A 的那个版本存在bug,必须改正,而工程中的其余文件已经改动过且已经被签入。5、签出该文件,改正,然后签入(此时该文件的VSS 内部版本号将自动加1)。6、将该文件Label为Beta 1(和工程的Label同名),这将使该文件的现有版本被指定为Beta 1。场景 5:文件 A 的一个原有版本需

47、要进行bug-fix,并加入Beta 1版中1、对即将到达Beta 1版的工程进行开发和测试。2、当你认为时机适宜时,将之Label为Beta 1。3、开始 Beta 2版的工作。4、你发现,包含在Beta 1版中文件A 的那个版本存在bug,必须改正。例如:文件的当前内部版本号是6,且包含了为达到Beta 2版所做的某些改动,而你不希望将这些改动并入Beta 1版中。5、签出文件A(Version 6)6、获取 Version 4,覆盖 Version 6的本地版本。7、修改该文件Beta 1版中的 bug,然后签入。这将使文件A 的内部版本号升至 7(Version 4的内容加上bug-f

48、ix后的内容,但没有包含Version 5和 Version 6的内容)8、将 Version 7 Label为Beta 1。这将使文件A 的 Version 7版被指定为 Beta 1。现在,如果你尝试获取Beta 1版的工程时,你将会得到包含 bug-fix后的文件 A(被单独Label)连同原来Label为Beta 1的工程中的其余文件。9、为了继续Beta 2版的工作,需要恢复在Version 5和 Version 6上的名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 18 页 -改动,再次签出文件A(Version 7)10、获取 Version 6。11、覆盖 Ve

49、rsion 7的本地版本,或合并之(这将使本地版本变成Version 6 的内容加上你在Version 7中为 Beta 1所做的 bug-fix)。12、继续修改文件A 的本地版本直到你满意,然后签入。这将产生文件A的 Version 8,现在你将可以继续Beta 2版的工作了。A2 VSS中部分命令的对应权限级别下表中打星号表示具有该类权限的用户可以使用该命令。功能RCADAdd*Branch*Check In*Check Out*Cloak*Create 1*Delete*Destroy*Difference*Get Latest Version*History*Label*Links*

50、Merge 2*Merge*Move 3*Move*Pin*Purge*Recover*Rename*Rollback*Share 4*Share*Undo Check Out*名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 18 页 -Set Working Folder*1 此处指用户必须有对Parent Project的 A 类权限。2 此处指用户必须有对目的Project的 C 类权限,同时有对原Project的R 类权限。3 此处指用户必须有对目的Parent Project的 A 类权限,同时有对原Parent Project的 D 类权限。4 此处指用户必须有对原

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com