Linux下SVN配置

2018-06-17 18:56:10来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

 

1.安装svn
yum install subversion

 

2.创建版本库fengyu
(版本库的名字取来和你web项目的名字相同,否则你在服务器检出后会变成web项目里还有一层版本库的目录,里面才是项目,名字相同的话就不用创建web项目目录,直接在www下面进行检出就OK。)
mkdir -p /var/svndata/fengyu
svnadmin create /var/svndata/fengyu

 

4.进入conf目录
cd /var/svndata/fengyu/conf

 

5.添加一个用户为zhangsan密码123456
vi passwd
添加zhangsan=123456

 

6.设置权限
vi authz
添加如下信息
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=zhangsan

[/]
@admin=rw
*=r

将zhangsan设置为admin用户组
在本库中,用户组为admin的用户有读写权限,其他用户只有读权限

 

7.全局配置
vi svnserve.conf
在最底下添加如下信息
[general]
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = fengyu # 认证空间名,版本库所在目录


8.启动svn版本库:
svnserve -d -r /var/svndata/fengyu
注意 如果要配置多个版本库 那么就启动版本库的上一级目录
如:我要搭建一个fengyu2和fengyu3与fengyu同级 那么就启动svndata这个目录 这样就可以在客户端链接svn://ip/fengyu2


9.服务器检出
cd /var/www 进入你的www目录
svn co svn://localhost/fengyu
先输入服务器root密码再输入svn的账号密码然后再选择yes


10.自动更新
cd /var/svndata/fengyu/hooks
cp post-commit.tmpl post-commit
chmod 755 post-commit
vi post-commit
将最下面三行注释掉 添加如下内容 请注意路径填实际路径
export LANG=zh_CN.UTF-8
REPOS="$1"
REV="$2"
WEB_PATH=/var/www/fengyu
LOG_PATH=/var/log/svn_commit.log
CURDATE="date"

/usr/bin/svn update $WEB_PATH --username zhaobl --password Z5201314 >> $LOG_PATH


11.强制添加注释
cp pre-commit.tmpl pre-commit
chmod 755 pre-commit
vi pre-commit把文件下面的全部注释 然后添加如下内容


REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c)
if [ "$LOGMSG" -lt 10 ]; then
echo -e "\n 提交文件时请添加注释,提交中止."1>&2
exit 1
fi


PS:这个限制字数,如果是数字英文会严格计算字符,但如果是中文就不管用了,如果有哪位兄弟懂的话请告知一二,感谢。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:[转载] delphi中ini 文件操作记要(1): 使用 TIniFile

下一篇:firemonkey ListView DynamicAppearance