系统和版本:CentOS6.7+SVN1.6.11
Step 1: 安装Subversion
[root@80 ~]# yum install subversion
Step 2: 检查版本
[root@80 ~]# svn --version
Step 3: 创建SVN目录和仓库
[root@80 svn]# mkdir /opt/svn
[root@80 svn]# svnadmin create /opt/svn/test.localhost.com
Step 4: 添加用户和权限
[root@80 repos]# vim /opt/svn/test.localhost.com/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
jasonwu = jasonwupw
alanzhang = alanzhangpw
sky = skypw
joel = joelpw
[root@80 repos]# vim /opt/svn/test.localhost.com/conf/authz
[groups]
DEV = joel,sky,alanzhang,jasonwu
[v2.test.localhost.com:/]
@DEV = rw
* =
Step 5: 修改配置文件
[root@80 repos]# vim /opt/svn/test.localhost.com/conf/svnserve.conf
anon-access = none
auth-access = write
password-db = /opt/svn/test.localhost.com/conf/passwd
authz-db = /opt/svn/test.localhost.com/conf/authz
realm = My First Repository
Step 6: 开启svn服务
[root@80 test.localhost.com]# svnserve -d -r /opt/svn
Step 7: checkout副本
[root@80 www]# svn co svn://192.168.11.80/test.localhost.com
Authentication realm: <svn://192.168.11.80:3690> My First Repository
Password for 'joel':
Authentication realm: <svn://192.168.11.80:3690> My First Repository
Username: joel
Password for 'joel':
Authentication realm: <svn://192.168.11.80:3690> My First Repository
Username: sky
Password for 'sky':
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
<svn://192.168.11.80:3690> My First Repository
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)?
Step 8: 增加文件到SVN
[root@80 test.localhost.com]# vim test.txt
[root@80 test.localhost.com]# svn add *
A test.txt
Step 9: 提交文件到SVN
[root@80 test.localhost.com]# svn commit * -m 'test'
Adding test.txt
Transmitting file data .
Committed revision 1.
Step 10: 修改钩子
[root@80 www]# cd /opt/svn/test.localhost.com/
[root@80 test.localhost.com]# cd hooks/
[root@80 hooks]# vim post-commit
#!/bin/sh
#export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn
WEB=/www/test.localhost.com
$SVN update $WEB --username sky --password sky
[root@80 hooks]# chmod -R 755 post-commit