名词释义:Svn(Subversion)简介

开发 项目管理
本文给大家介绍一个下Svn(Subversion),有些朋友也许刚接触这个名词,那么让我们来一起学习Svn(Subversion)吧。

Svn(Subversion)有些朋友可能以前接触,它是近年来崛起的版本管理工具,是cvs的接班人。因为它非常实用,所以目前绝大多数开源软件都使用svn作为代码版本管理软件。下面就让我们来看看Svn(Subversion)具体内容吧。

运行方式
svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。
svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据(我在搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点。

安全领域的SVN

SVN站在更高层次上对现在的安全产品,从系统和控制的角度进行了"有机"和"无隙"的整合。

SVN是一个安全虚拟网络系统,它将系统整体的信息安全功能均衡合理地分布在不同的子系统中,使各子系统的功能得到最大限度的发挥,子系统之间互相补充,系统整体性能大于各子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。

SVN能在跨接Internet,Intranet,Extranet间的网络所有端点实现全面的安全,而且还能提供基于企业策略的信息管理机制以充分有效地利用有限的带宽。SVN可以满足各种企业VPN的要求,通过为公司内部网络、远程和移动用户、分支机构和合作伙伴提供基于Internet的安全连接。所以,我们可以将SVN看成是VPN、防火墙、基于企业策略的信息管理软件集成在一起的Internet安全的综合解决方案。在这样一个网络系统中,所有互联网服务器端和客户端都是安全的,并有一个信息管理机制以不断地通过这个外部网络环境动态地分析及满足客户的特定带宽需求。

SVN提供了目前基于网络实现的eBusiness应用的安全服务,它包含:
对多种应用进行全面的安全认证;
支持多种认证及PKI
功能强大并对用户透明的通讯加密;
面向用户的集中安全策略管理;
统一跨接Internet、Intranet、Extranet的通讯。

完整的SVN体系结构应包括以下部分:
带有防火墙的VPN网关,它是一个将防火墙和VPN技术紧密结合的网关产品;
SVN安全远程客户端软件包,一个功能强大的VPN客户端软件,支持台式机用户、远程用户和移动用户,具有集中化管理的个人防火墙功能和VPN用户的安全认证功能;
SVN证书管理模块,一个用于SVN的完整PKI解决方案,它将完善的CA和LDAP目录服务器技术集成在一起;
SVN硬件加密卡,可以通过硬件技术实现功能强大的各种算法以提高VPN的速度和性能;
SVN智能带宽管理模块,一个基于企业策略的带宽管理解决方案,可以智能地管理有限的带宽资源,以确保用于企业重要应用的VPN性能可靠;
SVN冗余管理模块,通过冗余网关集群和防火墙VPN内的SVN冗余模块,对执行重要任务的VPN和防火墙应用在出现故障时实现无缝切换。
自动地址转换模块,一个自动管理IP地址和命名的解决方案,通过提供IP地址服务的跟踪和集中化管理,确保可靠地控制地址分配和提高TCP/IP管理效率;

SVN安全服务器软件包,专门保护单个应用服务器安全的VPN网关软件,它可以保护进行敏感操作的服务器免受攻击和未授权的访问,使客户端建立与服务器间的安全认证和支持交换加密数据的连接;SVN安全客户端软件包,它将基于状态检测的防火墙和基于IPSec的VPN客户端软件集成在客户端机器上,通过提供集中管理的个人防火墙和对所有企业VPN用户的安全认证,增强客户端机器的安全性。它与 SVN安全远程客户端软件功能相比,增强了客户端的安全功能,如访问控制和安全初始化控制等。#p#

Svn(Subversion)的发展历史

早在2000年,CollabNet,Inc.就开始召集开发人员开发CVS的替代品。CollabNet提供一套名为SourceCast协同工作套件,其中的一部分组件是版本控制。虽然SourceCast使用CVS作为其最初的版本控制系统,但是CVS的种种限制从一开始就处处可见,最后CollabNet明白必须要找到一个更好的解决方案。不幸的是,至少在免费license中,因为没有更好的选择,CVS已经广泛成为了开源世界中事实上的标准。所以CollabNet决定开发一个新的版本控制系统,保留CVS的基本特性但去除CVS的bug和不好的特性。

在2000年2月,他们联系《使用CVS开发开源项目》(OpenSourceDevelopmentwithCVS)(Coriolis,1999)的作者KarlFogel,并征求了他是否愿意在这个新的项目中担任一个角色。巧合的是,当时Karl已经和他的朋友JimBlandy讨论了一个关于新的版本控制系统的设计。在1995年,这两人就成立了CyclicSoftware,一个提供CVS的商业支持的软件公司。虽然他们经营商业服务,但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim认真思考更好的方法来管理数据,不但确定名字为“Subversion”,而且完成了Subversion档案库的基础设计。
  
当CollabNet的电话到来时,Karl立即答应了加入项目中,而且Jim让他的雇主RedHatSoftware同意让他在这个项目中不定期工作。CollabNet雇用了Karl和BenCollins-Sussman,并在5月开始了详细设计工作。在得到了来自CollabNet的BrianBehlendorf、JasonRobbins和GregStein(当时是一名活跃在WebDAV/DeltaV规范过程的自由程序员)很多创意的帮助下,Subversion很快地引起了一个活跃开发者社区的注意。它找出并欢迎很多同样在CVS上受到挫折的社员能来为这个项目做点什么。

Svn(Subversion)最初的设计Team定下了几个简单的目标。它必须在功能上可取代CVS,也就是说,所有CVS可做到的事,它都要能够作到。在修正最明显的瑕疵的同时,还要保留相同的开发模式。还有,Subversion应该要和CVS很相像,任何CVS使用者只要花费少许的力气,就可以很快地上手。

经过十四个月的编码后,Subversion于2001年8月31日开始实现“自行管理”。也就是说,开发人员不再使用CVS来管理Subversion的代码,而以Subversion自己来管理。

从启动这个项目到现在,虽然CollabNet提供了大部分的资金(它付出几位全职Subversion开发人员的薪水),但这还是个开源项目,由一组松散透明的规则所约定。CollabNet拥有代码的版权完全符合DebianFreeSoftwareGuidelines。换句话说,每个人都可以随意地免费下载、修改、以及重新发布Svn完全不需要经过CollabNet,或是任何人的允许。

 【编辑推荐】

  1. 经验总结:如何让Visual Studio 2008支持Subversion
  2. Subversion和TortoiseSVN如何在Windows下进行构建SVN版本控制
  3. 揭露MyEclipse Subversion环境建立的内幕
  4. 经验总结:浅谈Subversion安装在Windows和Linux下的区别
  5. 学习笔记:剖析Collabnet Subversion集成

 

责任编辑:佚名
相关推荐

2010-07-30 15:07:30

Flex简介

2010-09-17 13:15:55

JVMJava虚拟机

2010-06-07 18:04:07

UML

2010-07-27 09:30:22

2010-09-27 14:01:03

JVMJava虚拟机

2010-08-20 16:19:00

Padding-top

2010-06-02 13:36:18

SVN用法

2010-04-01 11:30:40

CentOS系统

2010-05-31 10:56:51

SVN服务器架设

2010-05-14 13:26:12

Subversion和

2010-05-28 13:18:55

SVN代码库

2010-05-31 14:56:59

SVN版本管理软件

2010-05-17 14:53:16

Subversion使

2010-05-18 15:48:03

2010-05-18 16:05:24

2011-08-05 14:26:02

2010-05-18 15:06:46

Subversion命

2010-05-12 16:18:33

Subclipse插件SVNSubversion的

2010-05-27 17:17:37

Subversion入

2010-05-14 09:45:11

Subversion升
点赞
收藏

51CTO技术栈公众号