逐渐取代CVS的新一代版本控制系统Subversion

一、CVS与SVN性能的比较
      今天看到这个测试结果,效果惊人阿,尤其是在分支合并处理上。
Action                                        CVS               SVN
Check out small file set       1 MB 17.32 s         26.96 s
Check out large file set          7 M 16.92 s  5M  35.01 s
Tag small file set                     1M  29.30 s            0.88 s
Tag large file set                   18 M 52.45 s            0.86 s
Update small file set                      44.46 s            4.91 s
Update large file set               8 M 53.39 s          38.62 s
Create branch (small set)     1 M 27.99 s            0.80 s
Create branch (large set)      21 M 2.93 s            0.69 s

二、使用Subversion进行版本控制
用 Apache 和 Subversion 搭建安全的版本控制环境

作为新一代的开源版本控制工具,Subversion 以其目录版本化、原子提交、版本化的元数据、更加有效的分支和标签等优良特性,正逐渐受到开源软件社区的重视,并有望取代 CVS,成为开源软件开发中版本控制的首选系统。在服务器端,Subversion 最大的独特之处,在于它可以通过一个扩展模块与 Apache 的 HTTP 服务器相结合,实现很多高级的管理功能和安全特性。与 CVS 相比,Subversion 实现了更加先进和安全的用户认证功能。在 Apache 的支持下,用户可以通过 HTTP 协议访问版本库,管理员可以对用户访问 HTTP 的权限做出具体的设置,同时 Subversion 还可以获得 SSL 传输加密,用户数据加密,以及目录级的访问控制等特性。

本文将在服务器端配置工作的角度,结合作者在实际开发工作当中的配置实例,介绍 Subversion 服务器端的基本配置和管理,以及如何将 Subversion 与 Apache 结合,实现一些高级管理功能。
Subversion 简介

在开源软件的开发过程当中,由于开发方式自由和开发人员分散这些特性,版本控制问题一直是关系到项目成败的重要问题。没有版本控制系统的支持,开源软件的开发过程就是混乱和不可控制的。

长期以来,CVS 作为一种普遍采用的开源版本控制工具,在很多的开源软件项目当中充当了重要的角色。在 Eclipse 当中,更是把 CVS 作为一个默认的插件,与 Ant,JUnit 等工具并列在一起,成为 Eclipse 软件开发的基本工具。近年来,随着开源社区的发展,一种功能更加强大的开源版本控制工具逐渐进入了人们的视野,那就是 Subversion,凭借着更为优秀的特性,Subversion 正在逐步取代 CVS,成为新一代的开源版本控制工具。

相比 CVS,Subversion 中的目录、文件以及改名等元数据都是被版本化的,例如文件的改名、拷贝等等操作;而且,在 Subversion 中,提交操作是不可分割的,修订版本号是基于每次提交操作而非文件;另外,Subversion 可以独立运行,有着轻量级的分支(Branching)与标签(Tagging)操作,版本库可以采用数据库(Berkeley DB)或者是使用特定格式的文件进行存储,对二进制文件进行处理更为有效;最后,Subversion 工具以及相关插件都有着很好的国际化支持,可以支持包括简体中文在内的多种语言版本,方便全球各地的开发人员。这些优秀的新特性,使得 Subversion 成为开源社区目前的最佳选择。
 

时间: 2024-10-09 17:22:46

逐渐取代CVS的新一代版本控制系统Subversion的相关文章

Subversion一个自由开源的版本控制系统

Subversion是一个自由,开源的http://www.aliyun.com/zixun/aggregation/9591.html">版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节.正因为如此,许多人将版本控制系统当作一种神奇的"时间机器". Subve

手把手教你玩转Git分布式版本控制系统!

目录  Git诞生历史  Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具   1  Git诞生历史   我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux技术爱好者的贡献,志愿者们通过邮件向Linus发送着自己编写的源代码文件,然后由Linus本人通过

GIT (分布式版本控制系统)

[简介] Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具.开放源码社区中的有些人觉得BitKeeper

Git基础 1 ---- 版本控制系统的介绍

 1 Git     1 版本控制系统 vcs - version control system     2 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统     3 版本控制系统的主要功能        1 记录文件的所有历史变化        2 随时可以恢复到任何一个历史状态        3 多人协作开发或修改        4 错误恢复        5 多功能并行开发     4 版本控制系统分类        1 本地版本控制系统 Local VCS

分布式版本控制系统入门:学习和对比Bazaar、Mercurial和Git的使用方法

简介:您是否对分布式版本控制感兴趣,但是又被一大堆行话弄糊涂了?本文介绍三种主要的系统 (Git.Mercurial 和 Bazaar),讨论采用分布式工作流的一些优点,比较分布式版本控制的常用操作. 简介 在过去几年,对于分布式版本控制可以给开发过程提供的益处有许多争论.最近,分布式 工具已经很成熟了.尽管分布式工具的一些优点最初可能不明显,但是从长期来看,它们提供的灵活性是 非常有意义的.阅读完本文之后,您应该能够开始使用分布式版本控制系统,基本了解分布式模型能够提 供的优点. 围绕分布式版

程序猿(媛)们注意啦!Git、SVN、Mercurial版本控制系统被爆远程命令执行漏洞

近日,三款主流的源版本控制系统Git.Subversion (svn).Mercurial,发布了更新补丁,修复了一个客户端代码执行漏洞. 恶意的攻击者可以向受害者发送一条精心构造的ssh:// URL链接,当受害者访问这条URL则会触发漏洞导致执行恶意代码. 该漏洞由GitLab的Brian Neel,Recurity Labs的Joan Schneeweiss和GitHub的Jeff King发现和报告.具体详情如下: 漏洞编号: Git: CVE-2017-1000117 Apache S

Google Code项目代码托管网站上Git版本控制系统使用简明教程

作为一个著名的在线项目代码托管网站,Google Code目前主要支持三种版本控制系统,分别为Git, Mercurial和 Subversion.Subversion即SVN相信大家都已经熟知了,这里我们要介绍的是最近新增的Git版本控制系统. 如果您在Google Code上的项目已经使用SVN进行版本管理,也可以很方便的在本地使用Git对项目进行版本管理.详细操作步骤请参考: Convert your project from Subversion to Git 下面我们要讲的主要就是如果

软件开发过程管理系统、版本控制系统及它们之间的集成

前言:本篇文章对于软件管理系统与版本控制系统将作一定介绍,然后再介绍他们之间需要做的集成. 1.先来谈谈版本控制系统吧 Version Control System,简称VCS,属于软件配置管理(SCM)的一个部分.这个系统可能对于刚毕业的大学生来说比较陌生,几年前甚至对一些企业来说也比较陌生,简单来说这个系统主要是为了更好保存并调用文件(包括文本,代码,图像等)的各个版本.那为什么需要用这个系统来保存各个版本呢? 这个就需要追述到没有版本控制系统之前的历史了,那个时候也有程序员,也要写代码,一

《C++编程规范:101条规则、准则与最佳实践》——1.4使用版本控制系统

1.4使用版本控制系统 摘要常言道,好记性不如烂笔头:请使用版本控制系统(Version Control System,VCS).永远不要让文件长时间地登出.在新的单元测试通过之后,应该频繁登入.确保登入的代码不会影响构建成功. 讨论几乎所有大一点的项目都需要不只一个开发人员和一周以上的开发时间.在这样的项目中,需要比较同一文件的各个历史版本,以确定修改是何时(以及/或者由谁)进行的:需要控制和管理源代码的变更. 如果有多个开发人员,他们将会并行地进行修改,可能会在同一时间修改同一文件的不同部分