Jiang's C++ Space
创作,也是一种学习的过程。
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
<
2010年7月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
公告
旧博客地址:http://blog.csdn.net/guogangj 新浪微博已经开通:http://weibo.com/guogangj
留言簿
(16)
给我留言
查看公开留言
查看私人留言
随笔分类
Android(1)
(rss)
Hello, Wiki(2)
(rss)
IT Technical Articles(4)
(rss)
Knowledge(27)
(rss)
Thinking/Other(8)
(rss)
Windows Embedded Programming(19)
(rss)
Windows Programming(15)
(rss)
随笔档案
2011年9月 (2)
2011年8月 (4)
2011年6月 (2)
2011年5月 (2)
2011年4月 (4)
2011年3月 (2)
2011年2月 (2)
2011年1月 (1)
2010年12月 (2)
2010年11月 (5)
2010年10月 (2)
2010年9月 (1)
2010年8月 (6)
2010年7月 (5)
2010年6月 (6)
2010年5月 (1)
2010年4月 (3)
2010年3月 (2)
2009年11月 (1)
2009年10月 (9)
2009年9月 (5)
2009年8月 (1)
2009年5月 (1)
2009年4月 (7)
最新随笔
1. 用VS2010发布ASP.net网站
2. 安装VS2010后VS2008无法调试Windows Mobile程序的问题
3. C#实现类似C++功能的困惑
4. 从C++到C#的一些注意事项
5. 在VMWare上装Mac(AMD CPU)最终没搞定……
6. gSOAP在Windows Mobile平台上的使用总结
7. 帮Windows Mobile实现gmtime,localtime,mktime和strftime
8. 用VC++访问文本文件
9. Windows Mobile上网设置详细图解
10. IE9无法完全关闭cleartype效果
最新评论
1. re: 图解数据结构(7)——二叉查找树及平衡二叉查找树
66666
--666
2. re: 帮Windows Mobile实现gmtime,localtime,mktime和strftime
拿走。
谢了。
--hotman_x
3. re: IE9无法完全关闭cleartype效果
现在win8也这个德行了。不知道微软在想什么。明显很多人极度反感的东西它非得坚持。很多人为了改这个甚至去修改注册表。
--讨厌DEARTYPE
4. re: 在VMWare上装Mac(AMD CPU)最终没搞定……[未登录]
用 Oracle VM VirtualBox
--Sam
5. re: C#实现类似C++功能的困惑[未登录]
使用可空类型
--Sam
6. re: 图解数据结构(10)——排序
顶一下,太厉害了。
--byrybye
7. re: IE9无法完全关闭cleartype效果
跟我一模一样!!!恨死cleartype了
--2222
8. re: IE9无法完全关闭cleartype效果[未登录]
我也极为反感,我不止是想放弃iE,如果不是兼容性的限制我立马放弃视窗系统.
--无名
9. re: 图解数据结构(8)——二叉堆
恩,同意@周冲 的说法,出堆的操作其实也就是把根节点出堆之后,最后一个节点放到跟节点然后进行下降操作。博主的入堆操作很好理解,赞一个。
--Greedydaam
10. re: 图解数据结构(8)——二叉堆
很容易理解,谢谢
--金马
VSS使用手记
在Google输入VSS和SVN,看看网上对这两者的评价,估计九成以上的人都认为SVN优于VSS,一来SVN免费,二来功能更为强大,而且是跨平台的,不局限于Microsoft的环境,还不说它是开源的。我也是这么认为的,对于版本管理,Visual SVN + Tortoise SVN,太完美了,用起来相当简单,足见开源项目也有精品。
但VSS用的人还是很多,比如我现在的公司(最近换的工作),虽然我是一个人在战斗,但他们还是有要求说要把代码放到VSS中去,于是花了点时间摆弄了一下。
首先是安装及版本问题,一开始我以为VS2008会自带VSS2008,但其实没有,我所安装的VS2008为Team Suite版,都没有发现VSS2008,所以只好求其次,找到了VSS2005,安装包400多M,我不知道为什么这么大,但安装好之后我在安装目录下只发现了不到20M的文件,安装后版本号为8.0.50727.42,这样还不行,据说这样跟VS2008存在兼容性问题,毕竟VSS2005的生日早于VS2008,没考虑到VS2008的需要也是正常的,所以得一个补丁,补丁不大,大约3M,到网上搜索一下应该很好找到,补丁打上去之后版本就变成了8.0.50727.1551,这就是我们所要的了。安装过程还是挺快的,也没有太多的option,一路next下去即可。值得说一下的是VSS2005需要.Net Framework 2.0,不过我想现在大多数机器都有这个玩意儿了吧,应该不需要另外再装了。
安装完之后在开始菜单里有两个图标,一个是Microsoft Visual SourceSafe(简称VSS),一个是Microsoft Visual SourceSafe Administration(简称VSS Admin),名如其实,一个是“使用”,一个是“管理”。使用VSS Admin可以创建“数据库”,相当于SVN的容器,把工程相关文件放入“数据库”中,即实现了代码管理。
运行VSS Admin,点<Cancel>取消登录,然后<File>-<New Database...>即运行了“数据库”创建向导,指定一个存放这个“数据库”的位置,即可。向导还让你选择模式,模式有两种,一种是经典的Lock-Modify-Unlock模式,令一种是类似SVN的Copy-Modify-Merge模式,前一种不能多人同时修改,后一种不能检出最新版本。通常用VSS的人都会选择前一种模式。
“数据库”创建完后,观察一下指定的那么目录,目录下有个文件叫“srcsafe.ini”,可以认为这个文件就是VSS连接的依据,VSS必须能访问到这个文件,才能访问相关的“数据库”。我尝试修改“srcsafe.ini”的参数并把它放到别的地方去,但没有成功,我也不知道是不是一定要放在“数据库”的目录下。“数据库”目录下有三个子目录,一个是data,不用说,这就是放代码的地方了,一个temp,临时目录,一个users,关于用户信息。
关于安全策略,按照微软的说法,VSS的安全策略其实是依赖于Windows系统的,按照Windows的规则,一个用户如果不能访问“数据库”目录,那么这个用户用VSS也会遇到问题,而VSS的数据库目录往往需要同时让很多人访问,所以它的共享设置很重要,但又必须考虑到安全问题,最好设置为只让相关人士访问,或者建立一个用户组,这样方便管理。当然这都是IT做的事情了,且不去深究它。
如果需要修改“数据库”的配置,那重新打开VSS Admin,用Admin用户登录,Admin默认密码为空,你可以在登录完之后修改一下,你还可以创建更多的用户,比如创建一个用户叫“developer1”,并设置其密码为“abc123”。
“数据库”创建好后,打开VSS,连接它,在Open SourceSafe Database对话框中点“Add”,打开连接向导,选择“Connect to an existing database”,然后Browse,选择前面提到的那个“srcsafe.ini”文件,指定一个名字,这样就可以了。回到Open对话框中,点“Open”。这时候输入用户名密码,用前面创建的“developer1”登录,输入密码“abc123”即可。
好了,现在可以执行一系列的操作了,自己好好玩玩。但我总觉得不是很方便,比如添加文件,用起来就比较繁琐,不像Tortoise SVN那样,指定一个目录,所有文件都列了出来,让我选择哪个需要入库,哪个不要,并且很好的保留了目录结构,而这里不行,试试看就知道了,非常不爽……
那VSS比SVN到底有什么优势呢?我想唯一的优势是跟Visual Studio的整合,另外就是习惯问题,不少人都习惯于使用Microsoft的东西了……
比同直接使用VSS的客户端入库,也许用VS2008更好点,如何让一个工程入库?看图:
然后blah blah blah,不必多说了。
搞定后发觉工程的文件的图标边上多了个小锁头,代表该文件正在被锁着,那如果要编辑这个文件,怎么办呢?很简单,通常跟以前没什么差别,打开,然后编辑,你会发现小锁头变成了一个小红钩,说明此文件已经被检出编辑了,如果其他人这个时候也想动这个文件,那就会得到一个出错提示。当你编辑完后,右击这个文件,Check In即可,小红钩重新变回了小锁头。
同样是在VS2008的Solution Explorer中,你可以查看某个文件的History,还有执行些别的操作等,这里就不多说了。
最后我想说,我没发现VSS有像SVN那样的制作Tag的功能,这个功能是十分十分有用的,比如我现在如果需要release一版程序,需要在release note中注明这版程序是用哪个tag的代码生成的,相当于立一个“里程碑”,我想你也能想象出这个功能的必要性,而VSS居然没有,只有针对单个文件的history list,还不能像Tortoise SVN那样用形象的Graph来表征版本变更历程,Damn it。
posted on 2010-06-02 16:25
Jiang Guogang
阅读(862)
评论(1)
编辑
收藏
引用
所属分类:
Knowledge
评论
#
re: VSS使用手记
2010-06-02 16:56
matthew
可惜,都没有用过,公司只用cvs
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
用VS2010发布ASP.net网站
C#实现类似C++功能的困惑
让wprintf正常打印汉字
根据下标数组重调位置
发现MSDN离线文档的第一个错别字
保存QQ空间的网页至本地
一个"滚动数组"类模板
怪异的有符号/无符号转换问题
VSS使用手记
一些可能你不知道的printf的参数
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © Jiang Guogang