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 *(可以使用通配符)

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

  1. SVN服务器搭建和配置使用详解

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

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

    现有的项目开发中,版本控制机必不可少.合理的使用版本控制可以提高开发效果,在保证项目是最新的同时,也提高了源代码的安全性. 工具/原料 接入Internet的一台Centos6.5Linux计算机 安 ...

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

    mod_dav_svn是apache连接svn的模块 yum install subversion mod_dav_svn httpd 配置文件简单说明, SVNParentPath 说明可以在指定的 ...

  4. svn服务器搭建与配置

    http://www.cnblogs.com/armyfai/p/3985660.html

  5. Linux 搭建SVN server

    一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...

  6. linux下svn服务器搭建步骤

    安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 sv ...

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

         PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...

  8. Windows下使用VisualSVN Server搭建SVN服务器

    使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server ...

  9. Ubuntu Server搭建svn服务以及迁移方法【转】

    转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...

  10. 使用VisualSVN Server搭建SVN服务器

    工具: TortoiseSVN-1.8.4.24972-x64-svn-1.8.5(客户端) LanguagePack_1.8.4.24972-x64-zh_CN.msi Setup-Subversi ...

随机推荐

  1. URL编码 utf-8 gb2312的区别

    一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址“http://www.abc ...

  2. Python开发入门与实战18-Windows Azure 虚拟机部署

    18. 微软云虚拟机部署 上一章节我们介绍了如何在新浪云部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署我们的应用. 18.1. 注册Windows Az ...

  3. JDBC操作步骤及数据库连接操作

    http://blog.csdn.net/joywy/article/details/7731305

  4. eclipse中添加python开发环境

    由于自己一直使用的是eclipse这个IDE,在写spark,java等都是用它,主要是用它比较顺手,也并不是觉得它有什么特别好的之处.下面主要介绍一下,在window系统下,eclipse中搭建py ...

  5. String类常用方法小节

    (1)String.equals() 返回值是boolean类型 equals(Object anObject)           将此字符串与指定的对象比较. (2)length() 返回值是in ...

  6. Spark源码学习1.7——Master.scala

    master第一步是加载系统定义的环境变量,如worker的超时时间.系统保留的Application数目等:第二步,加载worker的信 息,地址.id等:第三步,加载Application的信息, ...

  7. 《C++primer》v5 第6章 函数 读书笔记 习题答案

    6.1 实参是在函数调用处填写的参数.形参是在函数体使用的参数. 实参是形参的初始值. 具体参见:http://blog.163.com/zhengguo_li/blog/static/7030148 ...

  8. 【DB】database introduction

    database applications: – Banking System,– Stock Market,– Transportation,– Social Network,– Marine Da ...

  9. 3dsMax用到的网格优化

    3dsMax软件主要是用于建模的,里面有一个网格优化的功能,它的网格优化的过程是基于那个网格简化算法,经过使用个人认为是基于几何删除的折叠方式来进行的,可能是边折叠或者三角折叠的方式,还望大神多多指教 ...

  10. Android侧滑菜单代码实现

    前两天学习了hyman老师讲的Android侧滑菜单的实现,经过自己的整理分享出来给大家学习一下 现在很多APP都有菜单侧滑的功能,本篇文章主要讲解使用自定义的HorizontalScrollView ...