使用svn进行多个版本库的linux教程如下:
如果当前有svnserve进程在运行,指令
killall svnserve
指定某目录为svn服务启动时所使用的根目录,指令
cd /data
mkdir svn
最后的路径为:/data/svn
接着创建多个svn版本库于/data/svn/目录下,指令
svnadmin create /data/svn/lesterlee1
svnadmin create /data/svn/lesterlee2
最后的目录结构应为这样:
/data/svn
/data/svn/lesterlee1
/data/svn/lesterlee2
将/data/svn/lesterlee1/conf/目录下的authz、passwd、svnserve.con拷贝至/data/svn/目录下,指令
cd /data/svn/lesterlee1/conf
cp ./authz ../../
cp ./passwd ../../
cp ./svnserve.conf
此时svn根目录的结构应为:
/data/svn
/data/svn/lesterlee1
/data/svn/lesterlee2
/data/svn/authz
/data/svn/passwd
/data/svn/svnserve.conf
下一步,配置svnserve.conf,指令
cd /data/svn
vi svnserve.conf
加入以下内容:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = svn
保存后,至此,svnserve.conf配置完毕,接下来配置用户信息
vi passwd
配置信息如下:
[users]
lesterlee = password
保存后,至此,passwd配置完毕,接下来配置用户权限
vi authz
配置的信息如下:
[groups] #用户组
grouplesterlee= lesterlee
#将用户lesterlee加入用户组grouplesterlee中
[/]
lesterlee= rw
#读写权限
@grouplesterlee= rw
用户组读写权限
最后,启动svn服务即可,指令
svnserve -d -r /data/svn --config-file=/data/svn/svnserve.conf
注:后面的参数,–config-file=/data/svn/svnserve.conf是告诉svn服务,调用/data/svn目录下的svn配置文件,用来统一管理/data/svn目录下创建的子svn版本,统一使用配置文件中的用户信息、权限信息来管理各版本库。
1,安装系统时安装好svn服务器
2,创建目录/home/svn/
3,创建代码仓库:svnadmin create /home/svn/tool
4,进入/home/svn/tool/conf目录,其中有三个文件:
-rw-r--r-- 1 root root 1125 Jun 26 18:35 authz
-rw-r--r-- 1 root root 322 Jun 26 18:34 passwd
-rw-r--r-- 1 root root 2370 Jun 26 18:33 svnserve.conf
5,在文件svnserve.conf的[general]中加入下列几行:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = tool
6,在文件passwd的[users]中增加一个用户:
hgc = 123456
7,在文件authz的[groups]中增加一个用户组:
tool_users = hgc
8,在文件authz尾部增加用户组tool_users对代码仓库tool的访问权限:
[tool:/]
@tool_users = rw
注意:tool:后面的/表示指定对整个tool仓库的访问权限,也可以指定对其中的子目录的访问权限,例如:[tool:/dir1/]
9,在文件/etc/init.d/svnserve头部加入OPTIONS="-r /home/svn/",指定svn服务根目录(各个仓库就是在这个目录中创建的)
10,防火墙配置:允许指定ip段访问3690端口,执行etc/init.d/iptables save保存到配置文件/etc/sysconfig/iptables中
11,/etc/init.d/svnserve restart重启svn服务(系统重启有效的话需要执行/sbin/chkconfig --level 345 svnserve on)
12,在windows上通过svn client访问tool代码仓库,地址为:svn://centos-ip/tool/,用户名为:hgc,密码为123456
注意:整理的用户密码是静态写死的,管理员配置好后下发给使用者,使用者无法动态修改。
补充:提交代码时强制写注释
#在hooks目录下建一个pre-commit文件,内容如下,然后设置执行权限
#!/bin/sh
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 5 ];#要求注释不能少于5个字符(数字和字母),您可自定义
then
echo -e "\nLog message cann't be empty! you must input more than 5 characters as comment!." 1>&2
exit 1
fi
# All checks passed, so allow the commit.
exit 0
阅读(1388) | 评论(0) | 转发(0) |