标签:
#sudo apt-get install subversion
#sudo mkdir /home/svn
#sudo svnadmin create /home/svn/suc
#cd /home/svn/suc/
#dir
conf db format hooks locks README.txt
我们主要关心的是conf和db文件,conf文件夹下是存放主配置文件和用户、权限位置,db文件夹是存放svn转储后的数据。
#cd conf/
#dir
authz hooks-env.tmpl passwd svnserve.conf
authz文件是设置用户权限,passwd文件是存储用户及密码,svnserve.conf是主配置文件,先配置主配置文件。
# sudo vi svnserve.conf
将以下参数去掉注释
[general]
anon-access = none #匿名访问权限,默认read,none为不允许访问
auth-access = write #认证用户权限
password-db = passwd #用户信息存放文件,默认在版本库/conf下面,也可以绝对路径指定文件位置
authz-db = authz
# sudo vi passwd
格式是用户名=密码,采用明文密码
[users]
testname = testpassword
# sudo vi authz
[groups] #定义组的用户
manager = testname
[/]
@manager = rw
# sudo svnserve -d -r /home/svn
查看是否启动成功,可看的监听3690端口
# sudo netstat -antp |grep svnserve
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
如果想关闭服务,可使用pkill svnserve
#sudo svn checkout svn://*******/suc –username testname --password testpassword
不指定同步到本地目录(/svn)默认是当前目录,也可以不指定用户名和密码,需要手动输入。或使用简写sudo svn co svn://…/suc
将代码目录所有文件更新到最新版本
#svn update
将某个文件还原到某个版本
svn update -r 50 filename
50是修订版号
先在web服务器目录下checkout当前版本,然后在svn项目的hooks文件夹中的post-commit文件中添加脚本:用vi命令编辑一个新的post-commit(看清楚没有后缀名)千万不要用hooks文件夹里自带的post-commit文件。
#cd /home/svn/suc/hooks
#sudo vi post-commit
在文件中添加如下内容:
#!/bin/sh
REPOS="$1"
REV="$2"
WEB=/var/www/suc //web服务器下的项目不能有空格。
export LANG=en_US.UTF-8
svn update $WEB --username testname --password testpassword
然后给这个文件赋给执行的权限
# sudo chmod +x post-commit
本博客内容来源于网上搜索以及自己实践,仅供参考
标签:
原文地址:http://blog.csdn.net/fang_zefeng/article/details/51332603