Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2122557
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: LINUX

2014-10-10 17:58:47

使用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


阅读(1320) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~