1. 介绍

Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

  1. 安装

yum install subversion

查看版本

# svnserve --version

svnserve, version 1.4.2 (r22196)

   compiled Aug 10 2009, 17:54:46

Copyright (C) 2000-2006 CollabNet.

Subversion is open source software, see http://subversion.tigris.org/

This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.

* fs_fs : Module for working with a plain file (FSFS) repository.

  1. 创建版本库

mkdir /u02/svn -p

svnadmin create /u02/svn/tesvn

tessvn为版本库的名字

  1. 配置

# ll

total 12

-rw-r--r-- 1 root root  684Mar  8 14:26 authz

-rw-r--r-- 1 root root  309Mar  8 14:26 passwd

-rw-r--r-- 1 root root 1457 Mar 8 14:26 svnserve.conf

# pwd

/u02/svn/tesvn/conf

svnserve.conf  svn服务配置文件。

passwd 用户名口令文件。

authz 权限配置文件。

svnserve.conf 文件, 该文件配置项分为以下5项:

anon-access 控制非鉴权用户访问版本库的权限。

auth-access  控制鉴权用户访问版本库的权限。

password-db 指定用户名口令文件名。

authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

  1. svnserve.conf文件

password-db = passwd

authz-db = authz

  1. passwd文件

[users]

harry = harryssecret

sally = sallyssecret

  1. authz文件

[groups]

harry_and_sally = harry,sally

[tesvn:/]

@harry_and_sally = rw

* = r

tesvn对应版本库名称

/对应svn的目录,/u02/svn

  1. 启动、停止SVN服务

svnserve -d -r /u02/svn

-d表示后台运行

-r 指定根目录是/u02/svn

停止SVN服务

ps -aux |grep svn

kill -9 进程杀掉

  1. TortoiseSVN客户端测试

下载地址http://tortoisesvn.net/downloads.html

上传的文件保存到

/u02/svn/tesvn/db/revs目录下,以内部数据库的结构保存

02-01 08:19