一、什么是SourceSafe
  SourceSafe是Micrsoft公司推出的一款支持团队协同开发的配置管理工具,是Visual Studio的套件之一。因为其短小精悍,又继承了微软集成销售的一贯作风用户可以相对于免费的价格得到,用户量绝对是第一位。

  SourceSafe简单易用人们在使用配置管理工具时候,80%的时间只是用Add,Check in,Check out等区区几个功能。

  SourceSafe 的主要局限性:只支持WINDOWS不支持异构环境下的配置管理;对INTERNET支持不够完善。

二、它的运行机制

   SourceSafe是使用服务器、本地机的概念来进行操作的,它认为所有需要操作的文件都存在服务器版本文件和本地机版本文件,无论您的SourceSafe的架构是服务器客户机形式还是个人单机版形式,它的机制都是这样。用户所用的修改都是在本地机上完成的,修改完成后再上传服务器。单机版也是这样操作。我们一定要明确两个版本后再来分析。

  服务器版本文件是一个绝对受配置管理软件限制的文件,用户只能通过 SourceSafe的规定的权限和操作方法修改它,因为它并不是您一个人的,它是大家的。本地文件是一个基本不受限制的文件,您可以象操作本地文件一样操作它。

  SourceSafe由Visual SourceSafe 6.0 Admin、Microsoft Visual SourceSafe 6.0、Analyze VSS DB、Analyze & Fix VSS DB四部分组成。Analyze VSS DB、Analyze & Fix VSS DB两个工具不是很常用,前者用于检查SourceSafe数据库文件的完整性,后者主要是修正SourceSafe数据库文件存在的错误。

  Visual SourceSafe 6.0 Admin的功能类似于win2k的用户管理器,软件配置管理人员用它来分配用户和设定相应的权限。

  管理员的管理操作一般都集中在 Visual SourceSafe 6.0 Admin中,系统中只有一个系统管理员Admin可以登陆到此程序中进行管理工作,一般刚刚安装的系统中此用户的密码缺省为空。而且系统为Admin这个用户保留的一切权力,不可更改。

  数据库的创建这个操作必须在服务器上执行,因为通过客户端创建数据库的操作,只是在客户端的机器上创建的数据库,这个数据库往往只能单机使用。同时要必须注意,由于 VSS是通过WINDOWS的网络共享来完成服务器端受控版本文件的共享,因此VSS服务端的数据库必须建立在服务器的一个完全共享的目录之中。否则,客户端将无法获得数据库中的文件。

  数据库的备份与恢复,备份数据库或者其中的一个项目,点击 tools-archive projects…菜单弹出对话框,根据提示一步步进行备份,最后会形成一个扩展名为*.ssa的备份档案文件。

  如果要从档案文件中恢复 VSS数据库中的文件数据,点击tools-restore projects菜单根据提示一步步完成数据恢复工作。其中,在恢复过程中,可以选择恢复为原有工程,也可改变恢复成其他工程目录。

三、 VSS使用

   Microsoft Visual SourceSafe 6.0是SourceSafe的主要使用平台,样子象Windows的文件管理器,它所显示的路经是以‘$'符号为根节点的相对路径,在这里介绍一下此平台的主要使用方法。

  ( 1)添加项目

  您可以在根节点下添加项目,方法是: File—Add File出现Add File对话框后选中相关文件,按Add即可。

  你可以继续通过 File-Create Project在根目录下创建一个项目后在此项目节点下添加文件。

  添加完文件后,您所添加源文件的属性自动变为只读,并在所添加文件的文件夹下生成一个 vssver文件 ,以后对文件的操作基本与原文件没有关系了。

  ( 2)浏览Source Safe Server中的文件

  在 Visual SourceSafe Explore中双击要打开的文件,会弹出一个对话框,您直接点击OK即可。这时SourceSafe Explore会将文件拷贝一份到本地机的临时文件夹中(临时文件夹路径在tools-options-general下设置),因原文件前面提到已经变了只读,所以临时文件也是只读属性,而且文件名会通过系统自动更改。

  ( 3)设置工作文件夹

  SourceSafe 的文件夹需要在本地计算机上指定一个“working folder”。当“check out”时,相应文件会下载到这个本地工作文件夹中。我们在本地的文件中修改文件,然后把修改后的文件“check in”回服务器的source safe中。

  我们可以利用“ set working folder”这条命令来建立source safe的文件夹和本地“working folder”的对应关系。方法在source safe的文件目录树中选中要建立对应关系的文件夹-右单击-选择“set working folder”即可。

  ( 4)、下载最新版本文件到本地机

  “ get latest version”命令可以将一个文件、一组文件或整个文件夹的最新版本从source safe中拷贝到本地的计算机中,并用只读的形式保存起来。方法如下:

  在左侧的文件树中选择相应的文件夹右单击后,选择“ get latest version”

  这时会弹出一个对话框,它包括三个复选框:三个复选框全空时,只将 source safe文件夹根目录下的文件拷贝到本地计算机,如同DOS中的COPY命令;recursive选项选中时,会将source safe文件夹下的所有文件夹及文件都拷贝到本地计算机,如同DOS中的DISKCOPY,make writable选中,拷贝到本地的文件是可写的。

  如果我们单击“advance”按钮,就会出现更多的选择项。在“set file”中的四个选项第一如下:current为拷贝操作发生时的当前时间;Modification为文件最近一次修改的时间;check in为文件最后一次check in是的时间;default同current.

  在replace writable中的四个选项作用是,当本地机有一个和要下载的文件同名时,且本地机的文件是可写的同名文件时,设置系统如何执行拷贝:ask系统提示是否覆盖本地的同名文件;replace自动覆盖本地的同名文件;skip不覆盖本地的同名文件;merge将两个文件合并。

  一定要养成先Get Latest Version的习惯,否则如果别人更新了代码,VC会提示你存在版本差异并问您是否覆盖、整合、保留等,如果选错了就会把别人的代码Cancel掉,所以一定小心。

  (5)下载文件到本地操作

  当我们要修改一个文件时,首先要把文件从source safe中复制到“working folder”中,并且以可写的形式保存,这一系列动作的命令就是check out。具体使用方法如下:选择要下载到本地机的文件,右单击后选择check out,这时会弹出一个对话框。缺省的状态下“don't get local copy”这个选项是不选的,他的意义是这样的:如果不选保持缺省状态,当本地的同名文件是只读时,则系统首先用source safe的文件更新本地的文件,本地的文件变为可写。当本地的文件是可写时,则会出现另一提示框其中的选项leave this file:本地文件保留当前状态,source safe中的文件也保留当前状态,这样有可能两个文件不一致。选项Replace your local file with this version from source safe:用source safe中的文件更新本地的文件。如果您选择don't get local copy选项:则不把source safe的文件拷贝到本地。

  文件check成功后,您可以看到文件上有红色标记,这时您的本地文件是可写的,您就可以修改文件了。上面的选项也许让您心乱,为了操作更简便,我们推荐一种check out 方法:

  当本地的文件比source safe中的文件内容新时,选择don't get local copy选项。然后check in使本地机与服务器内容同步;

  当source safe中的文件比本地机的文件内容新时,则在source safe中选择此文件,然后get latest version命令,然后按照默认选项进行check out;

  当两者内容相同时,按照默认选项操作。

  注意:source safe中使用了文件锁的概念当一个文件被别人check out时,其他人不能check out 此文件;如果文件锁是无效的,您可以查看Visual SourceSafe 6.0 Admin-tools-general-allow multiple chechouts选项是否被选中。只有当check out 修改文件完毕后,一定要check in,来保证source safe中的文件最新。

  谨记check out时将是使得代码对自己可写,对别人只读,请仅仅Check Out自己需要修改的部分,不然你工作的时候同组成员只能休息了。

  (6)上传文件到服务器操作

  我们必须利用 check in命令保证source safe本地的文件同步,check in与check out 成对出现,它的作用是用本地的文件更新source safe中被check out 的文件。

  具体操作在 source safe选中处于check out状态的文件,右单击选择check in即会出现一个对话框:默认状态下它的两个复选框处于非选状态,Keep checked out选项,可以在check in 后自动的再次check out,等于是省略了下一步check out操作;remove local copy选项,可以在check in的同时,删除本地机上working folder中的同名文件。

  一般按照缺省选项就可以了。 Check in成功后,source safe和本地的文件是完全相同的,本地的文件变成了只读文件。要再次修改文件时,再执行check out操作,此时本地机的文件属性自动变为可写状态。一定记住check out 后要check in,不然导致的后果就如同写完了文件不保存差不多。

  一定要保证你的文档正确、可编译后再 Check In不然会使得其他人也无法通过编译,整个工程没法调试了。

  ( 7)undo check out 操作

  当一个文件被 check out 后,您如果想要撤销这项操作,可以使用undo check out命令,操作步骤:选中处于check out 状态的文件,右单击后选择undo check out.

  当source safe中的文件和本地的文件完全相同时,则不出现提示信息,文件恢复为普通状态。

  当source safe中的文件和本地的这个文件不完全相同时,则出现提示窗口,对话框local copy中包括三个选项:

  replace选项选中后会出现,系统询问是否覆盖的信息,如果单击yes则是用source safe上的文件最后一个版本覆盖本地机上的文件,如果选择no保留本地计算机上文件的内容,source safe上的文件是上次check in后的内容。此时,两个文件可能出现不同;

  leave选项保留当前计算机上的内容,source safe上的文件是上次check in后的内容,两个文件可能出现不同;

  delete 选项删除本地计算机上的这个文件。

  选择一个选项后,单击 OK后,文件回到普通状态。

  ( 8)edit操作

  edit命令是一个组合命令,是先check out再修改的命令的组合。应当注意的是,执行edit命令后,我们修改了文件,但是source safe中的文件并没有同步的修改,我们还是要check in完成本地文件与source safe上文件的同步。

  ( 9)查看文件的历史内容

  方法选中此文件,右单击选择 show history,出现一对话框后,经选择OK后弹出一窗体,我们可以看到这个文件的所有版本,要查看某个版本可以选中VIEW按钮。如果想下载某个先前的版本可以点击get按钮。

  ( 10)关于source safe的权限

  缺省状况下,项目安全管理是以简单模式来运行,即用户对工程的操作的权限只有两种,一种只读权限,一种读写权限。要启用高级模式,可以在 Visual SourceSafe 6.0 Admin-tools-project security-enable project security将此选项选选中。

  source safe的权限分为5级:

  无权限级:看不到文件

  read级:自能浏览文件,可以使用get latest version命令

  check in/check out级:可以更新文件,但不能对文件进行删除

  delete级:可以删除文件,但通过某些命令这些文件还能恢复。

  Destroy级:可以彻底的删除文件,删除之后无法恢复。

  为用户设定权限的工作一般由软件配置管理员在 Visual SourceSafe 6.0 Admin中完成。

  权限管理就是管理用户和工程目录之间的操作权限的关系。因此,有两种管理方式。一种就是以工程目录为主线来管理权限,一种是以用户为主线来管理权限。

  以目录为主线管理用户权限则点击 tools-right by project…菜单,弹出对话框来管理项目的用户访问权限。

  如果以用户为主线来用户权限,则应先在主界面的下方的用户列表中选中一个用户,再点击 rights assignments for user…菜单,弹出对话框,对话框下方列出了该用户对数据库各项目目录的访问权限,如果访问某个项目在列表上没有列出,则说明该项目的权限是继承上级目录的访问权限。只要您点选一个目录,就可以编辑该用户对该项目目录的访问权限。

  权限复制就是将一个用户的权限直接复制给另外一个用户,管理员可以通过 copy user right…菜单来实现。

  ( 11)关于password的更改

  password一般是由软件配置管理员分配的,如果我们需要修改密码,可以在tools-change password 下修改。 需要说明的一点是当你的 source safe密码和windows密码相同时,启动source safe,不会出现提示您输入密码的对话框。这是微软的的一贯作风,在SQL server数据库管理系统下也能找到这个影子,因为微软认为windows的密码应该比其他软件的密码级别要高,既然您能用相同的用户名和密码进入windows那么您也有权使用相同的用户名进入其他的软件。

转载于:https://www.cnblogs.com/CPYER/p/3581750.html

版本管理工具-SourceSafe相关推荐

  1. 软件版本管理工具大比拼

    VSS SourceSafe是Microsoft公司推出的配置管理工具,是Visual Studio的套件之一.SourceSafe是国内最流行的配置管理工具,用户量绝对是第一位. SourceSaf ...

  2. 代码版本管理工具介绍

    笔者有幸接触过以下几种常用的配置管理工具:VSS.SVN.Clearcase,在此做一个小小的总结,并Ctrl+C了以前一些网友的对比评论,不一定准确,只是希望通过这些总结对自己和初学者有所帮助.如果 ...

  3. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  4. 谈一谈git和SVN两大版本管理工具。

    Git 和 SVN 的区别? 写在前面: git和SVN都是一个版本管理工具,没有孰优孰劣之分,在这里,只是简单的说一说git和svn的优缺点.选用哪一个看自己公司的实际情况而定. 1) 核心的区别在 ...

  5. iOS 开发 需要的版本管理工具,UI图,bug管理工具等

    1.版本管理工具  或直接 终端敲命令 SVN(smartSvn 或者cornerstone/终端)  或git (sourceTree/终端) 2. 原型管理工具 使用墨刀(https://moda ...

  6. 版本管理工具Git(2)git的使用

    上一篇带大家认识了Git,在本篇中将讲解Git的安装及使用: Git系列导航 版本管理工具Git(1)带你认识git 版本管理工具Git(2)git的安装及使用 版本管理工具Git(3)VS下如何使用 ...

  7. SVN 集中式版本管理工具

    SVN : 集中式版本管理工具 checkout: 下载代码, 只需要做一次 update : 更新代码 commit :提交代码 三. SVN服务器搭建及配置(了解) 一. 端口号 http 80 ...

  8. git版本管理工具学习

    1.git版本管理工具作用:a.备份b.像时光机一样回到过去,防止错误删除c.多端共享d,独当一面和团队协作 2早起的版本管理工具:CVS,集中式管理工具 github是git的一个托管网站:GitH ...

  9. sqlite管理工具_Liquibase 数据库版本管理工具:1.安装

    1.Liquibase 是什么 粘一段官方的解释 Track, version, and deploy database changes 跟踪.管理和应用数据库变化 说白了,就是一个将你的数据库脚本转 ...

  10. GoLang语言多版本管理工具--GVM入门介绍

    GoLang语言多版本管理工具--GVM入门介绍 GVM 由Josh Bussdieker(jbuss,jaja,jbussdieker)在Moovweb工作期间 GVM提供了一个管理Go版本的界面. ...

最新文章

  1. 美国独步世界的八大领域
  2. Visual Studio 2013开发 mini-filter driver step by step 内核代码段分页alloc_text的使用(9)
  3. 密码登录错误怎么退出c语言,使用C语言判断密码是否正确,三次失败就退出,超详细教程!!...
  4. 51cto博客积分/无忧币规则、等级设定
  5. docker停止容器后配置_整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划...
  6. python高级语法-高阶函数之map的使用方法
  7. iOS开发--验证码
  8. Git的安装与使用教程
  9. sharepoint2010问卷调查(3)-实现问卷的开始和结束时间(采用自定义字段类型)...
  10. macbook装双系统多分区其实很简单,你只要把macbook当作一台普通pc就可以了!
  11. [摘]UML学习二:标准建模语言UML的静态建模机制
  12. mongodb 复制(副本集)
  13. Linux ldd时某个依赖库so not found的一种特殊情形
  14. 固高运动控制卡学习6 --编码器
  15. vb6 连接 mqtt 服务器
  16. C语言之数组的正向逆向输出
  17. Java技术体系简介
  18. linux动态库so更新
  19. VVC快速仿射运动补偿
  20. Bable的快速入门

热门文章

  1. 用手机怎么看服务器里的文件,手机查看云服务器文件
  2. Unity实战篇 | unity接入QQ登录 详细过程——Android篇
  3. 三重视角看陈彤:一个网媒老兵的谢幕
  4. SEO不能不知道的首页关键词策略
  5. 【Java】猜数字,程序随机分配给客户一个1-100之间的整数,用户在输入对话框中输入自己的猜测,程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对了”,用户可根据提示信息再次输入猜测
  6. LZY逃命路线总数(记忆化递归)非常难
  7. win10重装系统后,蓝牙开关消失,点击添加蓝牙或其他设备,显示无法连接
  8. 软件测试思想者(Software Testing - Thinker) - Logo一览
  9. dipg(dip歌词翻译中文)
  10. 4月6日——4月10日课程表