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

#首先向大家简要描述一下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的用户安全权限管理。

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

SVN、CVS、VSS区别的更多相关文章

  1. cvs vss svn和git比较

    cvs vss svn和git比较 特征 CVS Git Mercurial Subversion 是否原子提交 CVS: 没有. CVS提交不是原子的 Git: 是的. 提交都是原子的 Mercur ...

  2. SVN与CVS的区别大全(转载)

    本节讲解SVN与CVS的区别,主要包括是否更好的冲突标识与处理,是否有更多的本地/离线操作以及元数据管理问题. 更好的冲突标识与处理     通过是否进行更好的冲突标识与处理看SVN与CVS的区别:C ...

  3. GIT,SVN,CVS的区别比较

    Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial  (其中,关于SVN,请参见博客:SVN常用命令 和 SVN服务器配置) 目 ...

  4. GIT和SVN之间的区别及基本操作对比

    1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或 ...

  5. 版本控制、SVN、VSS

    ylbtech-Miscellaneos: 版本控制.SVN.VSS 1.A,版本控制返回顶部 1, 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...

  6. git svn 5点区别

    如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...

  7. Miscellaneos:版本控制、SVN、VSS

    ylbtech-Miscellaneos:版本控制.SVN.VSS 版本控制.SVN.VSS 1.A,版本控制返回顶部 1, 版本控制(Revision control)是一种软体工程技巧,籍以在开发 ...

  8. Git和SVN之间的区别

    如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...

  9. git和svn有什么区别

    如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...

  10. svn与git区别简介,git分支操作在mac客户端soureTree和使用命令行如何实现

    svn与git区别简介: 性能方面(经过实践的) svn:下载速度慢,因为它其中的源文件太多,并且在show log日志的时候每次都需要去服务器拉取,速度很慢 git:下载速度快,并且git clon ...

随机推荐

  1. 《python语言程序设计》_第二章笔记之2.13_软件开发流程

    #程序1: 设计:由用户键入利率.贷款数以及贷款的年限,系统计算出每月还贷数和总还款数 注意:输入的年利率是带有百分比的数字,例如:4.5%.程序需要将它除以100转换成小数.因为一年有12个月,所以 ...

  2. Linux-系统编程-知识点概述

    1.基本指令和5个背景知识(os.env.file.shell.权限) 2.开发环境:(vim.gcc.g++.gdb.ctags.make.Makefile.procbar) 3.进程1: 进程的基 ...

  3. Javascript高级编程学习笔记(62)—— 事件(6)焦点事件

    焦点事件 焦点事件会在页面元素获得或者失去焦点时触发,利用焦点事件和 document.hasFocus() 方法配合使用 以及 document.activeElement 属性配合可以知晓用户在页 ...

  4. [Swift]Alamofire:设置网络请求超时时间【timeout】的两种方式

    两种方式作用相同,是同一套代码的两种表述. 第一种方式:集聚. 直接设置成员属性(全局属性),这种方法不能灵活修改网络请求超时时间timeout. 声明为成员属性: // MARK: - 设置为全局变 ...

  5. 简单读!tomcat源码(一)启动与监听

    tomcat 作为知名的web容器,很棒! 本文简单了从其应用命令开始拆解,让我们对他有清晰的了解,揭开神秘的面纱!(冗长的代码流水线,给你一目了然) 话分两头: 1. tomcat是如何启动的? 2 ...

  6. Mycat入门

    1. Mycat入门 官网 http://www.mycat.io/ 1.1. 什么是Mycat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 ...

  7. Dockerfile常用指令

    FROM 构建的新镜像基于那个镜像 , FROM ubuntu:14 MAINTAINER 镜像维护者姓名或邮箱地址 RUN CMD EXPOSE  声明容器运行服务的端口 ENV ADD  拷贝文件 ...

  8. 动态dp初探

    动态dp初探 动态区间最大子段和问题 给出长度为\(n\)的序列和\(m\)次操作,每次修改一个元素的值或查询区间的最大字段和(SP1714 GSS3). 设\(f[i]\)为以下标\(i\)结尾的最 ...

  9. Canny提取图像轮廓

    #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgu ...

  10. ASP .NET CORE 根据环境变量支持多个 appsettings.json

    0.背景 在开发项目的过程当中,生产环境与调试环境的配置肯定是不一样的.拿个最简单的例子来说,比如连接字符串这种东西,调试环境肯定是不能连接生产数据库的.在之前的话,这种情况只能说是你 COPY 两个 ...