51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1399|回复: 8
打印 上一主题 下一主题

CVS和VSS比较

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-1-2 13:02:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
*VSS*和*CVS*介绍
*VSS*的全名是(VisualSourceSafe),是微软公司开发的VisualStudio开发套件中
的版本控制部分,你可以通过从微软购买全套的VisualStudio套件,单独购买
SourceSafe来获得。因此SourceSafe拥有非常好的技术支持和非常详尽的技术文档。
*CVS*的全名是(ConcurrentVersionsSystem,并发版本系统),它是一个开源项
目,通过http://www。*cvs*home。org/网站,你直接可以获取到最新的程序或者
最新的源代码,因此*CVS*的使用是完全免费的。由于*CVS*仅可以在Unix平台下使
用,在windows下出现了*CVS*NT(http://www。*cvs*nt。org/)服务器和Win*Cvs*
(http://www。gui*cvs*。org/)客户端等开源产品
功能

文件修改方式
*VSS*主要采用独占模式(check_out,modify,check_in),也可以使用
(mutil_check_out,modify,check_in,merge)模式。在SourceSafe使用中独占模
式使用的比较为成熟和普遍,独占模式要求每个人都必须在改动文件之前做捡出
(check_out)标志,并且标志了后的文件无法被其他人修改,即文件被独占了,
在完成了修改后要及时捡入(check_in),释放修改权。check_in和check_out也
是人们对版本控制最开始的印象。
*CVS*采用了(update,modify,commit)工作方式。这是一种可以并发的版本控制
方式,即每个人都可以修改自己可访问的任意代码,代码不会被一个人单独占用,
两个人甚至多个人可以修改同一份代码,并且每个人的修改结果都不会被丢失。具
体的操作过程为:在修改代码之前先做update,以使本地的代码最新,然后就可以
修改代码了,修改完毕后,直接commit自己的修改结果。如果*CVS*没有发现冲
突,则代码可以直接进入*CVS*资源库,否则,*CVS*则标出冲突的文件的冲突部分
让你做合并。

文件历史
在这一点上*VSS*和*CVS*的功能都很近似,他们都可以保存了每个文件的变化历
史,并提供了一个自动的版本号,随时可以取出任何文件的历史版本。并和当前版
本做比较。都提供了自定义版本的label功能。检索历史和自定版本都非常的方
便。*VSS*还特别提供了对时间段,或者操作人的历史操作查询,使一个人一段时
间内对文件的操作一目了然。

项目版本管理
*VSS*并有直接对项目版本管理的支持,通过label来自定义一个版本号,可以解决
部分项目版本管理的问题,但这是远远不够的,当一个产品根据用户需求产生一系
列不同的项目版本时使用SourceSafe将非常难以管理。
*CVS*提供了比较完善的项目版本管理。*CVS*中可以把当前的工作定义成一个版
本,一旦生成版本了则版本中的数据被单独取出,处于版本中的文件将保持只读,
想获得一个项目的历史版本将轻而易举。同时,对于一个项目版本内部可以调整使
用不同的文件版本。

分支功能。
*CVS*和*VSS*都提供了建立分支和合并分支的功能,但在操作中*VSS*首先要做项目
共享,引入要分支的项目或文件然后做分支操作.*CVS*则是直接对文件或者项目做
分支,分支操作同时建立。

开发集成
*VSS*可以和VisualStudio中的其他开发工具比如VB,VC++等做到直接集成,毕竟
都是微软的产品么,同时由于*VSS*不光提供了图形界面也提供了命令行模式,所
以在Windows操作系统中的大部分其他开发工具都提供了对*VSS*操作的集成,只要
你安装了*VSS*的客户端。因此*VSS*在Windows平台下使用将会非常方便。
*CVS*本身是Unix系统上开发的,提供Unix上了命令行使用模式,因此和Unix上的
vi、Emacs可以直接和*CVS*一起工作,至于Unix系统下的图形环境的开发工具比如
eclipse,KDevelop和*cvs*集成都非常容易。本来在Windows平台上*CVS*的支持并
不好,但近一段时间,随着Win*CVS*易用性越来越好,Windows下的部分开发工具
已经提供了对Win*CVS*的支持,不过需要自己配置,而Windows下的Eclipse则直接
集成了*CVS*,开发中可进行*CVS*操作。从而使Windows下*CVS*使用也越来越方便了。

操作界面和配置管理
*VSS*在Windows下提供了单独的客户端和服务器端操作界面,界面和windows操作
系统风格一致,入门和使用都非常方便。即使被集成到别的开发工具中,它的使用
界面也基本一样。通过工具SourceSafeAdmin,用户管理,权限管理,系统配置非
常直观,基本不需要任何培训,直接看随程序自带的文档就可以准确使用。配置工
具中包括了*VSS*数据的备份和恢复,系统自带文档相当详尽。
*CVS*的界面以命令行为主,在Unix平台下没有图形界面,部分图形的开发工具可
能内嵌*CVS*客户端,在Windows平台下你可以选择用*CVS*NT搭建服务器,用
Win*CVS*作为客户端。*CVS*服务端配置在任何平台下都需要通过命令来完成,配
置过程比较复杂。有时甚至要直接编写配置文件,同时,客户端方面的培植也有些
技巧。没有经过培训或者一段时间的研究和测试,无法正常使用*CVS*完成正常工
作和用户、权限的培植管理等工作。

安全和网络
*VSS*仅可在局域网内部使用,服务器仅作为一个文件服务器,不需要运行任何程
序或者起后台服务,但必须要共享一个可写的文件夹。这成为了目前局域网上最容
易被病毒入侵的地方,必须定期做好病毒检查工作,安装病毒放火墙。安全性比较差。
*CVS*在局域网或者广域网内都可使用,作为服务器不需要共享任何资料,但必须
起服务,占用系统资源。客户端可以是任何不同平台,都是通过TCP/IP和特定的端
口来访问*CVS*服务器,有不同安全等级的访问协议可供选择。安全性强适用面广。

结论
SourceSafe适合在局域网范围内的,以Windows平台为主的中、小项目,以文件管
理为主要功能,使用方便,学习成本低,对服务器仅需要快速大容量的存储器也是
它的优势。
*CVS*可满足局域和广域不同的网络条件,提供不同级别安全性选择,在一台专门
服务器的配合下,客户可以使用任何平台开发项目。对于已经完成了开发过程进入
项目维护阶段,或者进入项目升级阶段的项目,可提供完善的项目版本管理支持。
不过在操作和使用上学习成本比较高。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-1-2 13:19:12 | 只看该作者
上次模拟面试回答的不好,现在发一下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-1-2 22:48:41 | 只看该作者
这个写的不错啊
其实云层老师的blog里也有不少好东西的
值得参考的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-1-3 14:02:29 | 只看该作者
不错。分析的蛮清楚的啊 。 现在公司用的就是VSS。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-1-3 20:09:23 | 只看该作者
写得很详细啊,让新手对这两样配置管理工具也有所了解!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-1-4 00:06:49 | 只看该作者
收藏了,很有用
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-6-1 20:06:53 | 只看该作者
留个爪爪
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-6-3 18:33:23 | 只看该作者
都没学过撒。。我们学SVN的,收藏了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-11-9 19:27:57 | 只看该作者
好,收藏了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-17 06:18 , Processed in 0.084043 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表