在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客户端 tortoiseSVN
,show 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