最新Subversion服务器源码编译安装教程

本文详述了如何在Linux环境下源码编译安装Subversion服务器,包括清理旧环境、安装依赖、配置及测试过程。重点介绍了基于svnserve的独立服务器模式和FSFS数据存储方式。
摘要由CSDN通过智能技术生成

什么是 Subversion?

Subversion 是一个 免费/开源 的 版本控制系统 (version control system, VCS), 也就是说, Subversion 可以跨越时间地对文件和目录, 以及它们的修改进行管理. 这就允许你恢复 数据的旧版本, 或检查数据的修改历史. 由于这个特点, 很多人把版本控制系统 看成是一种 “数据时间机器”.

Subversion 可以跨越网络进行操作, 这就允许多个用户在不同的机器上工作. 从某种程度上讲, 允许用户在各自的空间里修改和管理同一组数据可以促进团队 协作, 因为修改不再是单线进行, 开发速度会更快. 由于所有的工作都被记录在 案, 也就不用担心并行开发会降低软件的质量—如果出现不正确的修改, 只 要撤消那一次更改操作即可.

某些版本控制系统同时也是 软件配置管理 (software configuration management, SCM) 系统. 这种系统经过精巧的设计, 专门用于管理源代码树, 具备许多与软件开发有关的 特性—理解编程语言, 提供了程序构建工具. 但 Subversion 不是 SCM, 它是一个通用系统, 可以管理 任意 类型的文件集合. 对你来说, 这些文件可能是源代码文件—对别人来说, 可能是一个货物清单 或数字电影.

Subversion的运行和数据存储

SVN(subversion)的运行方式有两种:

  • 一种是基于Apache的http、https网页访问形式;

  • 还有一种是基于svnserve的独立服务器模式。

SVN的数据存储方式也有两种

  • Berkeley DB数据库中存储数据;
  • 使用普通的文件FSFS存储数据。

由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全。

Subversion的架构

这里写图片描述

图中的一端是存放所有版本数据的 Subversion 仓库, 另一端是 Subversion 客户端程序, 客户端程序管理着部分版本数据在本地的映射. 两端之间是穿过仓库访问 (Repository Access) 层的多条访问路径, 其中 一些路径跨越计算机网络, 通过网络服务器对仓库进行访问, 其他一些路径 则不经过网络, 直接访问仓库.

Subversion 的组件

安装好的 Subversion 由好几个组件构成, 下面将简单地介绍 一下这些组件:

svn
客户端命令行工具

svnversion
用于报告工作副本状态 (就项目的版本号而言) 的工具

svnlook
可以直接检查仓库的工具

svnadmin
用于创建, 调整或修复 Subversion 仓库的工具

mod_dav_svn
Apache HTTP 服务器插件, 该插件允许用户通过网络访问仓库

svnserve
一个定制的, 可独立运行的服务器程序, 可以以守护进程方式运行, 也可以被 SSH 调用, 这是另一种允许用户通过网络访问仓库的方法

svndumpfilter
过滤 Subversion 仓库转储数据流的程序

svnsync
可以跨越网络对仓库进行增量镜像备份的程序

svnrdump
可以跨越网络对仓库历史进行转储和加载的程序

svnmucc
该工具支持在没有工作副本的情况下, 在一个单独的提交中对多个 仓库执行基于 URL 的操作

本文将以svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器

系统环境:

rhel7.2 x86_64bit
SELinux关闭
防火墙关闭(或者开启防火墙端口,基于svnserve的独立服务器模式,默认端口为3690)

开启防火墙端口的命令如下:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值