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. 使用ISO文件安装Linux

    一. 准备知识 1. ISO文件 我们普遍使用的ISO文件是指包含着整个CD-ROM(ISO-9660 文件系统)内容的 映象, 是整个碟片从0扇区到最后一个扇区的完整复制,经常被用来在网络上传输 对 ...

  2. git学习心得总结

    最近学习git,应为git可以不需要服务器而在任意的Linux机器上管理代码,相对svn和cvs还是有它的优势的,所以我选用了git来管理我的小项目,以后在提供svn的管理. 在使用了一段时间后想写一 ...

  3. Jquery实现select左右栏的添加移除

    首先是效果展示, 兼容火狐,IE6+,谷歌没测试有

  4. Beagleboard xm sd卡恢复

    来源于:http://circuitco.com/support/index.php?title=BeagleBoard-xM windows下恢复更加简单,推荐windows系统下恢复. To in ...

  5. HTML5体验改进的14条军规

    来自公园<HTML5——用新方式创造更好的用户体验>线下活动中来自火速轻应用的技术总监胡敏东的分享.   1. fake 页 - 首屏加速 目标:首屏 3s 以内   因为 71% 的用户 ...

  6. apt-get install *** 出现 软件包***没有提供可供安装的候选者

    今天,重新安装Ubuntu13.04后,在命令行输入 sudo apt-get install aptitude 提示: 软件包 aptitude 没有提供可供安装的候选者 sudo apt-get ...

  7. Sliverlight 样式

    UserControl 页面级样式UserControl.Resources style setter Property value. TargetType 应用的类型 使用 style static ...

  8. What is the difference between the ways to implement inheritance in javascript.

    see also : http://www.w3school.com.cn/js/pro_js_inheritance_implementing.asp http://davidshariff.com ...

  9. UE4 代码编写细节:静态变量

    Note:因为在切换关切时,会GC掉所有GameThread线程下的Object类,如果Static是UOBject 请调用AddToRoot函数  当然如果你的UObject子类Object是在自己 ...

  10. 使用注解配置Spring框架自动代理通知

    话不多说上代码 项目架构图及Lib包如下: 第二步创建业务类接口 package cn.happy.day01.entity; /** * 1.业务接口 * @author Happy * */ pu ...