0

0

svn与cvs的区别是什么

青灯夜游

青灯夜游

发布时间:2022-06-21 11:40:41

|

3997人浏览过

|

来源于php中文网

原创

区别:1、CVS的版本号是基于文件的自增序列号,而SVN的是基于全局的自增序列号,不仅针对文件,还包括目录;2、CVS是基于RCS文件的,而SVN是基于关系数据库或一系列二进制文件的;3、CVS允许任意的滚回,而SVN不允许递交后滚回;4、SVN支持“零或一”事务原则,而CVS不支持;5、CVS不支持本地文件重命名提交,而SVN支持;6、CVS有四种权限,而SVN只有三种权限。

svn与cvs的区别是什么

本教程操作环境:windows7系统、Subversion 1.14版、Dell G3电脑。

CVS(Concurrent Versions System):

是开发源码的并发版本系统 。它可用于各种平台,包括 Linux 、Unix和 Windows NT/2000/XP等。CVS免费开源,对项目进行版本管理。

功能介绍:

1、 代码统一管理,保存所有代码文件更改的历史记录。对代码进行集中统一管理,可以方便查看新增或删除的文件,能够跟踪所有代码改动痕迹。可以随意恢复到以前任意一个历史版本。并避免了因为版本不同引入的深层BUG。

2、 完善的冲突解决方案,可以方便的解决文件冲突问题,而不需要借助其它的文件比较工具和手工的粘贴复制。  

3、 代码权限的管理。可以为不同的用户设置不同的权限。可以设置访问用户的密码、只读、修改等权限,而且通过CVS ROOT目录下的脚本,提供了相应功能扩充的接口,不但可以完成精细的权限控制,还能完成更加个性化的功能。 

4、 支持方便的版本发布和分支功能。

SVN(Subversion):

  •  SVN全名Subversion,即版本控制系统。SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。

    牛NIUCMS本地O2O系统
    牛NIUCMS本地O2O系统

    牛NIUCMS本地O2O系统是一个以php+mysql进行开发的o2o网站系统。NIUCMS是一款强大的网站管理系统。支持智慧城市、智慧小区、智慧乡村、本地生活门户、本地O2O平台的构建。请注意以下几点:1、这套源码必须要服务器支持伪静态,是支持.htaccess规则的伪静态,一般Apache服务器支持,别搞的下载回去以后说什么缺 少文件,其实源码并非缺少文件。2、这套源码请在php 5.4环境下

    下载
  •  SVN是一种集中式文件版本管理系统。

  • 集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。

(SVN)集中式管理的工作流程:

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。 

 管理流程如下图: 

1.jpeg

svn与cvs的区别


CVS SVN
关于版本号 基于文件的自增序列号。 基于全局的自增序列号,而不仅仅针对文件,还包括目录等。
存储类型格式 CVS是个基于RCS文件的版本控制系统。每个CVS文件都不过是普通的文件,加上一些额外信息。这些文件会简单的重复本地文件的树结构。因此,不必担心有什么数据损失,如果必要的话你可以手工修改RCS文件。 SVN是基于关系数据库的(BerkleyDB)或一系列二进制文件的(FS_FS)。一方面这解决了许多问题 (例如,并行读写共享文件)以及添加了许多新功能(例如运行时的事务特性。)。然而另一方面,数据存储由此变得不透明,或是说并不那么用户友好了。那就是为什么工具软件,对仓库 (数据库)变得那么重要了。
访问速度 比较慢;因为他基于单向(服务端-->客户端)差异化文件传输 整体而言,由于架构实现的不同, SVN的确比CVS快很多;因为采用双向差异化文件传输。
在网络上它只传输很少的信息并支持更多的离线模式的功能。但这也是有代价的。速度的代价就是巨大的存储(完全备份所有的工作文件)。
元数据 只允许存储文件 允许一个文件有任意都的可命名属性。功能十分完全,但不知到底有什么用
文件类型 最初是为文本文件存储而设计的。因此其他文件类型(二进制,统一码)文件的支持几乎没有如需要的话则要有其他信息,并且客户端服务器端都要调整。 SVN会关心所有的文件类型,不需要你来手工操作;因为他的存储是基于二进制的
滚回 CVS允许任意的滚回,在任意一个已递交的版本上,尽管着要华些时间(所有的文件都要分别处理)。 SVN不允许递交后滚回。我们建议把仓库里好的状态版本加到末尾,覆盖掉损坏的版本。而损坏的版本无论如何也是会存在数据库里的。
事务 CVS中的 “零或一”事务原则根本没有实现。如果检入几个文件的话(加到服务器上),很有可能部分文件完成了,而另几个没有。最为一个潜规则,手工纠正这些并且对余下的文件 (而不是所有文件)一一重复检入。这样这些文件将在两阶段中被检入。但至今为止,因为这个功能缺少而导致的数据仓库损坏的案例还没有出现过。 支持“零或一”事务原则,这是SVN的一大优势
架构、代码、可扩展性 CVS是个古老的系统。起初CVS只是一些运用RCS的脚本文件。后来这些脚本被组成一个单个应用程序,但内部结构仍然有待改进。直到今天,仍有人企图从头开始,重写一遍CVS,但都不成功。我们曾经尝试国重写客户端代码以期更好的集成效果,但是,不成功。现在我们都不认为CVS在功能上能走到多远了。 Subversion的开发员的确花了许多时间在内部架构上。我们仍然不知道这些决策有多大的正确性等等。但有一点可以肯定,代码有良好的可扩展性,增强工作也在进行着。
重命名、删除操作 不支持本地文件重命名提交;
删除分remove和erase两种前者把本地和库中文件都删除,后者只是删除本地文件;
不能删除文件夹
支持文件重命名提交系统会提示删除旧文件,创建新文件
删除本地文件提交 库中文件也被删除
用户访问权限 有read、write、creat、none这四种权限,任何人不能删除文件夹(admin也只能跑到服务器上把相应文件夹残忍删除?我暂时只知道这个方法……) 只有read、write、none三种权限 creat和delete权限好象和write是捆绑在一起的
创建分支与基线 CVS 在创建分支的时候,需要对所有进行分支的文件进行依次的操作,因此分支的建立成本(主要是建立分支所需的时间,或消耗的计算资源)与参与分支的文件数量成比例,项目越大,版本库越大,文件越多,分支的建立成本越高;基线(tag)的建立与此类似。 SVN 的分支和基线是通过执行“拷贝”来建立的:回想一下在没有引入版本管理工具的时候我们是如何进行所谓的“分支”和“基线”管理的?答案显然是“拷贝” — 我们通过“拷贝”或“备份”来建立基线;同样,为支持多个开发人员可以同时进行开发,我们为每个开发人员创建一份“拷贝”。

(学习视频分享:编程基础视频

相关文章

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
javascript void运算符
javascript void运算符

void是一元运算符,执行右侧表达式但始终返回undefined;用于丢弃返回值、阻止a标签跳转、IIFE忽略结果、动态导入不取Promise、安全获取undefined。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

vscode的界面字体大小调整
vscode的界面字体大小调整

调整VSCode界面字体大小可通过设置编辑器或整体UI缩放实现;2.修改"Editor:FontSize"改变代码字体;3.设置"Window:ZoomLevel"调整整体界面字体;4.使用Ctrl+滚轮快捷键临时缩放。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

VSCode的注释快捷键
VSCode的注释快捷键

单行注释快捷键为Ctrl+/(Windows/Linux)或Cmd+/(macOS),块注释使用Shift+Alt+A(Windows/Linux)或Shift+Option+A(macOS),VSCode会根据语言类型自动匹配语法,如JavaScript用//,Python用#,C++用//,若快捷键无效需检查语言扩展或插件冲突。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

Golang 命令行工具(CLI)开发实战
Golang 命令行工具(CLI)开发实战

本专题系统讲解 Golang 在命令行工具(CLI)开发中的实战应用,内容涵盖参数解析、子命令设计、配置文件读取、日志输出、错误处理、跨平台编译以及常用CLI库(如 Cobra、Viper)的使用方法。通过完整案例,帮助学习者掌握 使用 Go 构建专业级命令行工具与开发辅助程序的能力。

4

2025.12.29

ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

165

2025.12.26

压缩文件加密教程汇总
压缩文件加密教程汇总

本专题整合了压缩文件加密教程,阅读专题下面的文章了解更多详细教程。

56

2025.12.26

wifi无ip分配
wifi无ip分配

本专题整合了wifi无ip分配相关教程,阅读专题下面的文章了解更多详细教程。

108

2025.12.26

漫蛙漫画入口网址
漫蛙漫画入口网址

本专题整合了漫蛙入口网址大全,阅读下面的文章领取更多入口。

356

2025.12.26

b站看视频入口合集
b站看视频入口合集

本专题整合了b站哔哩哔哩相关入口合集,阅读下面的文章查看更多入口。

703

2025.12.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SVN搭建及使用教学视频(布尔教育)
SVN搭建及使用教学视频(布尔教育)

共9课时 | 1.8万人学习

SVN视频教程(传智播客)
SVN视频教程(传智播客)

共12课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号