Chinaunix首页 | 论坛 | 博客
  • 博客访问: 88811
  • 博文数量: 69
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 697
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-03 23:44
文章分类

全部博文(69)

文章存档

2014年(69)

我的朋友

分类: LINUX

2014-05-21 19:14:33

centos6.4安装svn

yum -y install mod_dav_svn httpd
# 注:可去这里下载安装脚本  
# mod_dav_san模块就是作为Subversion与Apache之间的接口,通过它,Apache就可以访问版本库,并且可以让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。

# 创建一个工程
svnadmin create /workspace/game1

# 添加game1工程的访问路径
vim /etc/httpd/conf.d/subversion.conf

        KeepAlive On
        ServerName svn.game.com
       
                DAV svn
                SVNPath "/workspace/game1_repos"
                AuthType Basic
                AuthName "项目 仓库"
                Require valid-user
                AuthUserFile "/workspace/passwd"
                AuthzSVNAccessFile "/workspace/game1_repos/authz"
                Order deny,allow
                Allow from all
                SVNAutoversioning On
       



# 定义日志的格式
cat /workspace/game1_repos/hooks/pre-commit
#!/usr/bin/python
#coding=utf-8
import sys, os, string
#os.environ['LANG']="zh_CN.utf8"

SVNLOOK='"/usr/bin/svnlook"'
LOG_LEN=10

if len(sys.argv) < 3:
sys.stderr.write("system error!\n")
sys.exit(1)
pass

Repos=sys.argv[1]
Txn=sys.argv[2]

# 判断日志长度
log_str_arr=os.popen('%s log -t %s %s' % (SVNLOOK, Txn, Repos)).readlines()
if len(log_str_arr[0]) < LOG_LEN:
sys.stderr.write("write log and word num >10.(%s)\n"%len(log_str_arr[0]))
sys.exit(1)
pass
sys.exit(0)

# 添加可执行权限
chmod +x /workspace/game1_repos/hooks/pre-commit

# 重启apache
service httpd restart

# 添加用户
cd /workspace/
htpasswd passwd 用户1

cat  /workspace/game1_repos/authz
[groups]
client=用户1,用户2
server=用户3,用户4
planner=用户5,用户6

[/]
*=
autosvn=rw

[game1:/]
*=
autosvn=rw

# 策划
[game1:/trunk/plan]
@planner=rw
用户1=r

# 客户端
[game1:/trunk/client]
@client=rw

# 服务端
[game1:/trunk/server]
@server=rw

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