################
1.如何用sourcesafe 创建一个数据库来进行工程的存放?
visual source safe环境是基于c/s构架的,
一个相当于服务器端,叫做visual source safe Amin 负责创建、管理数据库以及用户的创建、管理。
创建数据库:Tools->Create database
创建当前打开数据库的用户: Users->Add user
另一个相当于客户端,叫做visual source safe explorer 负责一般的代码管理,
诸如:check in ,check out, show history,get latest version,label,share等等
其实在VC6.0级以上版本中的project->source control 就已经集成了很多客户端的功能。
################
2. 一些常用操作
check in 表示提交一个版本。
check out 表示从数据库中把一项工程拿出来了。
只有在check out 的状态下才可以编辑。
每check in一次产生一个新的版本。
################
3.如何用sourcesafe管理(查找历史版本、label) 存储的各个版本呢?
<1>label。
如果某个工程用source safe进行管理。
当这个工程编辑的比较成熟的时候,把它往数据库check in的时候,需要把基本情况
说明一下,做一些comment之类的,这样以后查找这个版本时方便些。
做法:
打开visual source safe explorer,登陆相应的数据库,在all projects中选中要查找的工程,
点击右键,选中label,然后起个label名称,在comment栏里面将当前版本的情况说明一下。
<2>查找历史版本。
打开visual source safe explorer,登陆相应的数据库,在all projects中选中要查找的工程,
点右键,选择show history,选ok,在出现的各个版本中选中要的版本,点击get然后选择
要把这个版本放到那个目录下。如果是label过的版本图标就会显示像文件夹的样子。
#################
4.如何使得同一个文件被多个工程共享使用,并且同步?
在VC6.0及以上的版本中都可以。
<1>如果使用visual source safe进行代码管理的化,那么就非常好办。
比如在ProjectA中有一个share.h文件想要在ProjectB中也有,
以VC6.0下的操作为例,
则打开ProjectB,在Project->source control->share from source safe
然后选中projectA,在左边"File to share" 里面选中share.h,这样就完成了。
可以在source safe 中看到, share.h的图标由一个但文档的样子变成一个多层的样子,表示多个地方在共享它。
在这个操作以后,在source safe数据库中ProjectA和ProjectB
的项目里面就都有了share.h文件,在实际的工作目录下也都能看到share.h.
在编辑share.h的时候,某一时刻仅只能有一个工程能对share.h有修改的权限(check out的状态下)。
只不过要注意,VC6.0有个小毛病,就是当,ProjectA把share.h check out时,ProjectB也能同时将
share.h "check out"(实际上只是提示share.h已经被check out了),此时ProjectB不能修改share.h
只能查看。当ProjectA将share.h 修改完并且check in以后,按说ProjectB就可以对share.h进行操作了,
但是如果刚才在ProjectA修改share.h的时候,ProjectB将share.h check out 了,那么此时ProjectB必须
先将share.h check in一下再check out进行修改.
这里还是以这个为例,简述一下四个share.h的关系。
(1)database里面ProjectA项目下的share.h
(2)database里面ProjectB项目下的share.h
(3)实际ProjectA工作目录下share.h
(4)实际ProjectB工作目录下share.h
(1)和(2)由database通过share达到同步,可以看成一个文件
(1)和(3)通过source safe 映射,通过check in 和check out操作保持同步
(2)和(4)同上.
<2> 如果没有使用source safe进行代码管理,那么就需要在VC中打开工程ProjectB然后
在FileView里面点右键,在出现的菜单中选择Add files to project 然后在
ProjectA 的目录中选中share.h文件把它加载到projectB的工程中,但是要注意这个时候在ProjectB
的目录中是没有share.h这个文件的,在打开的工程中有这个文件也是从ProjectA这个目录里面零时加载
进来的,而且在ProjectB可以对其进行修改(实际上就是把ProjectA中的share.h显示出来了)。
如果此处修改了,那么ProjectA在打开时,share.h就已经是修改过的了。这中方法的毛病很多。
比如文件修改的不可预见性,还有就是当工程ProjectA移动或者是更换名字后,ProjectB便找不到这个文件了。
#################
5. 如何将一个工程和source safe 解除联系?
打开工程:
project->source control -> remove from source control
不过要注意,当断开联系后,这些文件还是只读属性,所以要想
修改他们需要把文件属性修改一下。