1.SVN介绍
SVN是一个跨平台的开源的版本控制系统,svn版本管理工具管理着随时间改变的各种数据,这些数据放置在一个中央档案库(repository)中,svn会备份并记录每个文件每一次的修改、更新、变动。这样可以把任意一个时间点的档案恢复到想要的某个旧的版本,可以查看指定文件的更新历史记录。
SVN通常用于管理程序代码。但是它也可以管理任何类型的文件,如文本、视频、图片等。
SVN的优点:
(1)管理方便,逻辑清晰明确,符合一般人的思维习惯
(2)易于管理,集中式svn服务器更能保证数据的安全性
(3)代码的一致性非常高
(4)普及度高
SVN的缺点:
当无法连接到中央版本库的环境下,就无法提交代码,将代码加入到版本控制,也就说明基本上无法工作
由于每一次提交都保留一个原始副本,因此SVN数据库容量可能会暴增。
由于代码集中管理,存在单点故障,所以需要对svn中央版本库的存储进行备份,而且同时还要备份所有更改的版本记录。
2.SVN的服务器运行模式与访问方式
2.1 SVN服务端的运行方式有3种:
(1)独立服务器访问
访问地址如:svn://svn.xiaoyu.com/project;
(2)借助Apache等http服务
访问地址如:http://svn://svn.xiaoyu.com/project;
a.单独安装Apache+svn
b.CSVN(Apache+svn)是一个单独的整合的软件,带web界面管理的SVN软件。
(3)本地直接访问
访问地址如:file://application/svndata/project。
3.SVN客户端的访问方式
SVN客户端可以通过多种方式访问服务器端 ,本地磁盘访问,或各种不同的网络协议访问,但一个版本库地址都是一个URL。
访问方式如下:
访问方式 | 说明 |
file:// | 直接通过本地磁盘或者网络磁盘访问版本库 |
http:// | 通过WebDAV协议访问支持Subversion的Apache服务器 |
https:// |
与http://相似,但是用SSL加密访问 |
svn:// | 通过TCP/IP自定义协议访问svnserve服务器 |
svn+ssh:// |
通过认证并加密的TCP/IP自定义协议访问svnserve服务器。 |
4.SVN档案库数据格式
svn存储版本数据有2种方式:BDB(一种事务安全型类型)和FSFS(一种不需要数据库的存储系统)。
BDB:
BDB数据格式的版本库是一种经过充分测试的后台数据库实现的,不能通过在网络共享的文件系统上使用,伯克利DB是Subversion 1.2版本以前缺省的版本库格式。
FSFS:
FSFS是一个专用于Subversion版本库的文件系统后端,可以使用网络文件系统(例如NFS或SMBFS),是1.2版本及其后的缺省的版本库格式。
SVN是基于关系数据库的(BerkleyDB)或一系列二进制文件的FS_FS。一方面解决了许多问题(例如:并行读写共享文件)以及添加了许多新功能(例如运行时的事务特性),另一方面,数据存储由此变得不透明,不能像ftp,Samba,nfs等能看到实体文件了。
转载于:https://blog.51cto.com/shayatou1990/2177195