svn整合apache
yum install -y subversion httpd mod_dav_svn
mkdir /data/svn -p
svnadmin create
/data/svn
vi
/data/svn/conf/svnserve.conf
#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read,如果你不愿意匿名共享请配置为none
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#, 默认使用的是同一目录下的passwd 文件作为用户认证方式
###password-db = passwd 用http方式的话,不需要此参数
vi /etc/httd/conf/httpd.conf
添加
DAV svn
# SVNParentPath /svndata/webdev ##总是出现403 forbidden
SVNPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/auth
Require valid-user
vi
/home/svn/auth
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
dev = username
UI = username
[/]
@dev = r
@UI = r
* =
[/UI]
@UI = rw
@dev = r
* =
* =
user1 = r
user2 = rw
这三行合起来就表示user1这个用户拥有只读权限,user2这个用户拥有读写权限,除此之外的其他人员没有任何权限。
参考此处解释
htpasswd -c /home/svn/passwd username1
htpasswd /home/svn/passwd username2
chown apache.apache /svndata/webdev -R
service svnserve restart
service httpd restart
svn import svn://192.168.0.X/svn1 | –m “test-svn1”
svn export svn://192.168.0.X/svn1 | #导出纯代码
svn co svn://192.168.0.X/svn1 |
svn提交时必须输入注释
[root@localhost hooks]# pwd
/data/svn/hooks
[root@localhost hooks]# cat pre-commit
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c)
if [ "$LOGMSG" -lt 10 ]; then ## 少于10个字
echo -e "\n 提交文件时必须添加注释,提交中止." 1>&2
exit 1
fi
[root@localhost hooks]#chown apache.apache /data/svn -R
[root@localhost hooks]#chmod +x /data/svn/hooks/pre-commit
阅读(914) | 评论(0) | 转发(0) |