#### 安装部署svn在linux
首先用centOs强大的yum来安装svn
`yum install subversion`
等待些许时间,一般不会太久,如果太久了,可能就是你的网不好.
然后创建一个版本库的目录,用来存放各种版本库.
`mkdir -p /home/svn`
这个home下面的svn文件夹就是后面用来存放svn版本库的svn不同的版本库就是不同的文件夹.然后再用svn的命令创建一个版本库
`svnadmin create /home/svn/warTwo`
这个warTwo就是我需要创建的一个版本库,创建后就会在svn文件夹下面发现一个warTwo文件夹,接下来需要修改里面一些文件,可以用linux命令,也可以用其他的一些工具,我自己是用的宝塔面板,比起以前用命令行确实感觉上要方便那么一点点.

进入conf文件夹修改配置文件`svnserve.conf`

红框里面的几行注释去掉,
`anon-access = none`这行禁止匿名访问
`realm = /home/svn/warTwo`这一行写版本库的地址.
然后进入conf文件夹修改`passwd`

然后进入conf文件夹修改`authz`

这样指定用户就拥有了读写的权限,groups这个是分组相关的,有些多人开发的不需要其他文件夹的权限也可以单独设置.保存退出后,开启防火墙的端口默认3690,宝塔安全里面开放3690端口,腾讯云和阿里云防火墙也要开放3690TCP.有的自带防火墙需要添加一句
`-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT`
添加后需要重启防火墙
`service iptables restart`
然后开启版本库
`svnserve -d -r /home/svn`
#### 自动部署到web目录
**向web目录检出项目副本**
为了在web目录下检出项目我们需要先切换到web目录下(我的web目录是在/home/www下)

检出项目
```
svn co file:///home/svn/warTwo
```
这个位置用的file协议,也可以用svn://127.0.0.1/warTwo
自动部署
----
切到钩子目录
复制一个post-comit
```
cp post-commit.tmpl post-commit
```
修改post-commit文件
```
REPOS="$1"
REV="$2"
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
WEB="/home/www/917yc"
export LANG=en_US.UTF-8
svn update $WEB --username username --password userpassword
```
然后再给这个脚本添加执行权限
```
chmod +x post-commit
```
然后就ok啦