搭建SVN服务

分类:服务器     发布时间:2014-10-24     最后更新:2017-08-26     浏览数:2203

在linux上创建仓库以及一些最基本操作

创建仓库 svnadmin create 仓库名称

检出 svn co svn://192.168.1.133/repos /web/www/html/website

更新 svn up /web/www/html

开启 svnserve -d -r /web/svn


遇到的问题

1.SVN客户端 tortoiseSVNshow log 没有显示日期,作者,备注信息

解决办法:

修改svn配置文件:仓库 /conf/svnserve.conf 改为: anon-access = none auth-access = write


2.多用户访问多仓库,一个认证文件?如何创建仓库? 解决办法: 目录结构 /web/svn /web/svn/websiteA (一个仓库) /web/svn/websiteB (另外一个仓库) /web/svn/websiteC (再一个仓库) /web/svn/websiteA/conf/svnserve.conf (每一个仓库都有)

设置各个仓库中的 svnserve.conf

password-db = /web/svn/codeAuth/passwd
authz-db = /web/svn/codeAuth/authz

/web/svn/auth (存放认证相关文件,各个仓库共用)

/web/svn/codeAuth/authz (设置用户,用户组,权限)

/web/svn/codeAuth/passwd (设置用户密码)


3.同步更新问题 在 /web/www/html/websiteA 目录 checkout 一份,作为本地测试用,要求仓库有新的提交时 /web/www/html/websiteA 自动更新

解决办法

在创建仓库目录中有个 hooks (简称钩子程序),在此目录新建 post-commit

REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /web/www/html/websiteA --username xxxx --password xxxx
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /web/www/html/websiteA --username xxxx--password xxxx
echo 'whoami',$REPOS,$REV >> /web/svn/repos/hooks/svn_hook.log
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
上一篇: 第一个基于 Yii 框架构建的站点 下一篇: 移动设备下的幻灯片