SVN-Server搭建及配置

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

一、服务器环境

操作系统:CentOS release 6.5 (Final)

内核版本:2.6.32-431.el6.x86_64

SVN-Server版本:1.6.11 (r934486)

二、安装SVN-Server

1、SVN-Server和SVN-Client下载地址

官网下载: http://subversion.apache.org/packages.html

SVN客户端TortoiseSVN :https://tortoisesvn.net/downloads.html

参考文档1:http://liqingbiao.blog.51cto.com/3044896/1831236

参考文档2:https://segmentfault.com/a/1190000003853810#articleHeader7

2、安装subversion

# yum -y install subversion

3、创建仓库

创建用于存储仓库的目录并进入该目录:

# mkdir /svn ; cd /svn

创建仓库:

# svnadmin create /svn/fansik/

以下关于/svn/fansik/目录的说明:

hooks目录:放置hook脚步文件的目录

locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号

conf目录:是这个仓库配置文件(仓库用户访问账户,权限)

4、配置SVN服务的配置文件

# vim svnserve.conf

[general]

anon-access = none #使非授权用户无法访问

auth-access = write #使授权用户有写权限

password-db = passwd #用户密码文件

authz-db = authz #访问控制文件

realm = fansik repository # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错

5、配置访问用户及密码

# vim passwd

[users]

fansik = fanjinbao

user1 = fanjinbao

6、配置用户权限

# vim authz

[groups]  #定义组

admin = fansik,fanjinbao  #创建admin组,组成员为:fansik,fanjinbao

user = user1  #创建用户组,用户成员user1

[/]  #定义访问目录

@admin = rw  #admin组有读写的权限

@user = rw  #user组有读写权限

*=  #表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

备注1:版本库的目录格式如下:

[<版本库>:/项目/目录]

@<用户组名> = 权限

<用户名> = 权限

其中[]內容有許多写法:

[/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限

[test:/],表示对版本库test设置权限;

[test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;

[test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;

备注2:

权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户

权限分为:r ,w, rw和null ,null空表示没有任何权限。

auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。

7、启动SVN-Server

# svnserve -d -r /svn/

注意:更改svnserver.conf时需要重启SVN服务,更改authz,passwd文件时则不需要重启服务

也可以在启动是指定端口号:

# svnserve -d --listen-port 3690 -r /svn --log-file=/svn/svn.log --pid-file=/svn/svn.pid

注:svnserve的进程可以启动多个

三、SVN的使用方法

1、导入版本库(/fansik目录要存在)

# svn import --force-log /fansik svn://192.168.1.203/fansik -m "fansik" --username=user1 --password=fanjinbao

2、显示项目列表

# svn list svn://192.168.1.203/fansik

3、剪出版本库中的可用的工作目录

# svn checkout svn://192.168.1.203/fansik

4、添加文件到版本库

# svn add fansik.java

5、删除文件

# svn rm fansik.java

6、更新版本库

# svn update fansik.java

7、提交到版本库

# svn ci -m --force-log "fansik.java"

8、移除或者重命名

# svn move fansik.java fansik1.java

9、打印svn工作目录和文件状态

# svn status -v *(可以使用通配符)

时间: 2024-10-10 00:25:05

SVN-Server搭建及配置的相关文章

linux svn server搭建、多项目管理及主备方案

[svn简介]            svn用于版本管理数据,它采用了分支管理系统.在它出现之前存在CVS,svn推出之后,逐步替代了CVS.            目前又出现git,相比于svn,git更支持分布式版本管理,目前发展很猛,这里不详细介绍.大家可以先把svn了解熟悉之后,再看看git,对比下.            ps:时代总是在进步啊,需要跟上潮流.同时,需要了解潮流为何,需要思考潮流背后的原因为何,了解背景历史为何,否则就是盲从了. [第一安装] yum install s

SVN Server环境安装配置手册

SVN Server环境安装配置手册_百度文库 http://wenku.baidu.com/link?url=923bv1olSkznh1gWd7Gqoxxwj18IHIlTXcEbNiPSLM5H32k93UtQ22rAVppNIlVv89ru4E1cPFe1yESSEkSsR4NfDMMRgpA2d3GI_KcV37m

Linux系统下的SVN Server搭建过程

一.摘要 主要在Linux操作系统下使用SVN服务器 二.安装步骤 0.验证是否有svnserver (svnserve --version)1.安装svnserver (yum install -y subversion)2.验证是否安装成功 (svnserve --version)3.进入到svn的资源目录 (cd /home/svndir)4.创建svn资源库 (svnadmin create myProject)5.新增用户 6.配置用户权限 7.配置资源库权限 8.启动或者重启 9.测

linux 下 svn 服务器搭建与配置

Subversion是一个自由,开源的版本控制系统,可以记录每一次文件和目录的修改情况.这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节. linux 下 svn的搭建 首先安装 subversion yum  install -y subversion 使用rpm -qa subversion 查看是否安装完成 安装完成后进行配置 首先在home 下建立svn的数据目录和密码认证目录 说明: svndata 目录用于存放项目目录,svnpassw 目录存放密码及认证文件 在svn

Centos6.5 SVN服务器 搭建及配置

查看是否可以从yum软件仓库找到SVN安装包 yum list *svn* 2 从使用yum软件仓库安装SVN,执行 yum install subversion.i686 中间会列出要关联的包,并提示下载:输入“y”并确认 3 SVN已经安装成功 END 创建版本库 查看SVN 命令 svn -help 创建版本库目录 mkdir -p /home/svn/svnfile 创建版本库 svnadmin create /home/svn/svnfile 生成以下目录 进入conf目录(这是该SV

Linux中基于apache httpd的svn服务器搭建与配置

mod_dav_svn是apache连接svn的模块 yum install subversion mod_dav_svn httpd 配置文件简单说明, SVNParentPath 说明可以在指定的目录下,创建多个SVN项目 ----------------------- vim /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module     modules/mod_dav_svn.so LoadModule authz_svn_

aliyun ECS SVN server搭建

在阿里云ECS上搭一个SVN服务器,方便文件版本控制     CentOS 7  64位   SVN 版本 1.7.14 (r1542130) 我们没有必要了解Subversion的所有特性的方方面面,我们的目的是使用它来对我们的project进行方便的简单的版本管理,因此,强烈推荐阅读Subversion Quick-Start Guid和Basic Usage. 首先通过软件包管理器添加 安装svn,也就是subversion. 用 rpm 或者 yum 都可以 yum -y install

Linux 搭建SVN server

一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中. 这个档案库非常像一个普通的文件server, 只是它会记住每一次文件的变动. 这样你就能够把档案恢复到旧的版本号, 或是浏览文件的变动历史. SVN中的一些概念 : (1). repository(源码库) 源码统一存放的地方 (2). Checkout (提取) 当你手上没有源码的时候,

(总结)CentOS Linux搭建SVN Server配置详解

PS:今天给开发的同事搭建一个公网的SVN Server,google一下,发现下面这篇最详细,就记录下来,重新排版一下.顺便根据自己的使用经验,补充了几个细节和总结.本文配置是基于CentOS 5.x的,但一样适用于其他Linux发行版! SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows,但较多安装在linux下. svn服务器有两种运行

CentOS Linux搭建SVN Server配置详解

SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows,但较多安装在linux下. svn服务器有两种运行方式:独立服务器和借助于apache. svn://或http://svn客户端tortoisesvnsvn的基本工作原理: 在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序.有源代码库管理员统一管理这些源程序.每个用户在使用