SVN、CVS、VSS区别

时间:2021-07-14 00:13:47

废话不多说,撸起袖子敲黑板 !~~

#首先向大家简要描述一下SVN与CVS、VSS的介绍与对比:

介绍:

三种都是版本控制软件, 多数用于源代码管理
1、CVS(Concurrent Version System)版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型
2、Microsoft Visual SourceSafe是微软公司出品的版本控制系统,简称VSS
3、SVN(Subversion) 一个优秀的开源版本控制系统。是近年来崛起的版本管理工具,可以说是cvs的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。SVN服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。SVN是可以代替CVS的下一代控制软件。

简单对比:
1、vss是微软收费的,svn是开源免费的

2、vss必须有客户端,svn可以用客户端,也可以用命令行模式,还可以用网页方式只读访问

3、vss只支持windows,svn支持windows和linux

4、vss是锁定-编辑-解锁模式,svn虽然也支持锁定,但默认是修改-冲突-合并模式

5、vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库

6、目前用的最多的是svn,因为它开源、免费、有众多其它软件支持配合

7、工作方式:

  CVS(ConcurrentVersionSystem)上一代的版本控制软件,版本控制的方式主要是“合并--修改--提交”,也就是说当系统版本和当前用户的版本不一样的时候,服务器会要求通过合并服务和客户端的版本,生成一个新的版本。提示用户版本冲突,用户修改了对应版本之后,就可以进行相应的提交了。

    VSS(VisualSourceSafe)微软出的一款版本控制软件,它主要方式是通过"锁定--修改--解锁--提交"的方式进行版本控制的。也就说当一个用户修改一个版本的文件时,锁定该文件,使其他用户不能够进行修改。只有当此用户解除锁定,并且提交文件以后,其他用户才可以进行文件的修改。

  SVN和版本控制软件CVS,VSS的比较,SVN是他们的综合,就是说具有以上两种的功能。

#最后我们看一下SVN和CVS、VSS三者的优缺点。

优缺点:
CVS:它工作方式,可以使多个用户并行工作。这样对于正在编写软件的项目团体有利。
但是版本控制某个项目下的一些核心文件比较困难,假如团队中的每个人都写文件的权限。这样往往会不小心的让核心代码被修改。
VSS:工作方式决定它就是一个文件只能由一个用户修改。其优点可以锁定核心代码,缺点则是工作效率比较低。所以适合小团队进行开发。
SVN:两者的综合,取两家之长。还有它具有自己统一的客户端,在windows环境下,通过鼠标右键就可以进行操作,易用性明显强于前面两者。

当然,除了以上管理软件,还有ClearCase等配置工具,它功能强大,版本管理和分支管理完全自动化,但是权限管理只能是基于Windows的用户安全权限管理。

有兴趣的朋友可以自行学习一下。