CVS和VSS比较

Danica ·
更新时间:2024-11-11
· 751 次阅读

*VSS*和*CVS*介绍 *VSS*的全名是(VisualSourceSafe),是微软公司开发的VisualStudio开发套件中 的版本控制部分,你可以通过从微软购买全套的VisualStudio套件,单独购买 SourceSafe来获得。因此SourceSafe拥有非常好的技术支持和非常详尽的技术文档。 *CVS*的全名是(ConcurrentVersionsSystem,并发版本系统),它是一个开源项 目,通过网站,你直接可以获取到新的程序或者 新的源代码,因此*CVS*的使用是完全免费的。由于*CVS*仅可以在Unix平台下使 用,在windows下出现了*CVS*NT服务器和Win*Cvs* 客户端等开源产品 功能

文件修改方式 *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*可满足局域和广域不同的网络条件,提供不同级别安全性选择,在一台专门 服务器的配合下,客户可以使用任何平台开发项目。对于已经完成了开发过程进入 项目维护阶段,或者进入项目升级阶段的项目,可提供完善的项目版本管理支持。 不过在操作和使用上学习成本比较高。



cvs vss

需要 登录 后方可回复, 如果你还没有账号请 注册新账号