2月 242015
 

一、安装svn

# yum install httpd
# yum install httpd-devel
# yum install subversion
# yum install mod_dav_svn
# yum install mod_auth_mysql

验证是否安装成功,输入命令:
# svnserve –version

输出上面的信息后证明安装成功

 二、创建代码库

首先创建一个目录用于存放svn的各个项目

# mkdir /opt/svn

使用svnadmin创建一个代码库

# svnadmin create /opt/svn/repo1

这样第一个项目的代码库就创建完成了,进入到repo1目录中,可以看到conf, db,format,hooks, locks, README.txt等文件,说明代码库建立成功

三、配置代码库

进入到/opt/svn/repo1/conf目录中,可以看到三个文件authz, passwd, svnserve.conf,其中authz是用于配置用户组和用户的文件,passwd是用于设置用户名和密码的文件,svnserve.conf是用于配置服务器的文件

1. 配置passwd

输入下面命令编辑passwd文件

# vi /opt/svn/repo1/conf/passwd

在[users]节点下面以下面格式输入“用户名 = 密码”,如:bcoder = 123456

2. 配置authz

输入下面命令编辑authz文件

# vi /opt/svn/repo1/conf/authz

[groups]节点下面是用于配置用户组的,可在每行输入”组名 = 用户1,用户2,用户3……”,如:” grpdeveloper = dev1, dev2, dev3 ”
[代码库路径]用于配置用户或者组对该代码库的权限,可在每行输入“用户名=rw”,r是读权限,rw是读写权限。如果对用户组则需要在用户组名前面加上 “@”,如:“@grpdeveloper”

这里我们简单的设置如下:

 3. 配置svnserve.conf

输入下面的命令编辑svnserve.conf

# vi /opt/svn/repo1/conf/svnserve.conf

anon-access用于设置匿名用户的权限,read为只读,write为读写,none为不能访问,通常设置为none
auth-access用于设置登录用户的权限,read为只读,write为读写,none为不能访问,通常设置为none
password-db用于指定存储用户名密码的文件,即/opt/svn/repo1/conf/中的passwd文件,默认password-db = passwd即可
authz-db用于指定用户权限的文件,即/opt/svn/repo1/conf/中的authz文件,默认authz-db=authz即可

四、启动svn服务器

输入下面的命令启动svn服务器

# svnserve -d -r -/opt/svn/repo1

五、使用客户端checkout代码库

在客户端使用下面地址checkout,svn://你的IP地址/

六、停止svn服务器

输入下面的命令停止svn服务器

# killall svnserve

七、启动多个代码库

假设我们在/opt/svn/下面建立了多个代码库,如

# svnadmin create /opt/svn/repo1
# svnadmin create /opt/svn/repo2
# svnadmin create /opt/svn/repo3

那么如果我们想使用多个代码库,在启动svn服务器的时候使用如下命令

# svnserve -d -r /opt/svn/

即使用多个代码库的上一级目录启动svn服务器,现在在客户端checkout的时候就要输入代码库的名字了,如:svn://你的IP地址/repo1

4月 122013
 

1. 今天check out项目的时候,svn突然报了一个如下错误:

在网上查了一上解决办法为:

在地址和项目名称之间加上svn,本例中为如下:http://127.0.0.1/svn/financing,再进行check out就没问题了

SVN客户端:TortoiseSVN 1.7.11, Build 23600 – 64 Bit, Subversion 1.7.8

SVN服务端:VisualSVN Server Manager Version: 2.5.9