SVN工作原理

SVN 官网:https://subversion.apache.org/
Github SVN 源码:https://github.com/apache/subversionSV

菜鸟教程

SVN服务器是版本控制管理工具,其核心是集中式代码管理。
开发者在开始新一天工作之前必须现在本地update一下代码,然后开发、解决冲突、合并。所有的版本信息都放在SVN上面。

SVN使用

一、运行方式
svn服务器有两种运行方式:独立服务器、借助apache运行。
1、独立服务器访问
如:svn://svn.test.com/test

2、借助Apache等http服务
如:http://svn.test.com/test
(1)单独安装Apache+svn
(2)CSVN(Apache+SVN)是一个单独的整合的软件,带web界面管理的SVN软件

3、本地直接访问
访问地址如:file:///application/svndata/test

SVN客户端访问方式
svn客户端可以通过多种方式访问服务器端,例如:本地磁盘访问,或各种各样的网络协议访问,但是一个版本库地址永远都是只有一个URL,

URL反映了访问方法:
(1)file:/// 直接通过本地磁盘或者网络磁盘访问版本库
(2)http:// 通过WebDAV协议访问支持Subversion的Apache服务器
(3)https:// 与http://相似,但是用SSL加密访问
(4)svn:// 通过TCP/IP自定义协议访问是SVN服务器
(5)svn+ssh:// 通过认证并加密的TCP/IP自定义协议访问svn服务器

二、数据存储
svn存储版本数据有两种方式:BDB(一种事务安全型表类型)、FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

(1)BDB
伯克利DB(Berkeley DB),版本库可以使用的一种经过充分测试的后台数据库实现,不能再通过网络共享的文件系统上使用,伯克利DB是Subversion1.2版本以前的缺省版本库格式。
(2)FSFS
一个专用于Subversion版本库的文件系统后端,可以使用网络文件系统(例如:NFS或SMBFS)。是1.2版本及以后的缺省版本库格式。

svn是基于关系型数据库的BDB或一系列二进制文件的FSFS。这解决了许多问题(如:并行读写共享文件)以及添加了许多新功能(如:运行时的事物特性)。然而另一方面,数据存储由此变得不透明,不能像ftp,samba,nfs等能看到实体的文件。

三、工作原理
SVN是一个增量式的版本控制,它不会讲各个版本的副本都完整的保存下来,而只会记录下版本之间的差异,然后按照顺序更新或者恢复特定版本的数据。这使得服务端的存储量会非常低。

](https://img-blog.csdnimg.cn/2018110911330271.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BvdGF0bzUxMg==,size_16,color_FFFFFF,t_70)

在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番薯大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值