linux下搭建svn服务器的文章已经有很多了,这里仅记下自己最近使用的一些实践之谈,原理先不深究,供日后查阅用。

安装:yum install subversion -y,可用rpm -ql subversion查看svn的安装目录,默认在/usr/bin目录下

创建版本库:

mkdir /path/to/repo

svnadmin create /path/to/repo

创建好后目录下会有conf db format hooks locks README.txt这些个文件(夹),

其中conf是配置文件信息关系到登录账号的问题,hooks是钩子文件会在服务器端执行一些客户端对应动作的响应事件

配置用户/开发组信息

修改conf/passwd,直接在后面追加 username = passwd的字符串明文,这里的username是linux中存在的用户名,

centos6.5下svn的使用说明

修改conf/svnserve.conf,注释掉那几行使之生效,

anon-access,auth-access,passwd-db,realm,

同时修改anon-access = none,

这样在客户端才可以有读日志文件的权限,方便查看不同版本的提交日志信息,

修改realm = /path/to/repo指定svn版本库目录。

centos6.5下svn的使用说明

到这里个人开发的一个简单配置就完成了,这时候用svnserve -d -r /path/to/repo

就可以启动svn进程然后就可以使用客户端来连接svn://ip:port/repo使用了,这里默认的端口是3690,

如果是想开多个svn版本库到别的目录,只需要重复以上步骤至启动时指定不同的端口号即可,

比如使用3691端口启动一个新的svn版本库:svnserve -d --listen-port 3691 -r /path/to/repo

这样在客户端连接的时候url是svn://ip:3691/repo

开发组配置

多user在同一个group开发代码,每个user去生成一个svn的版本库然后指向同一个代码目录这个是很繁琐而不符合规范的,

这个时候就用上了svn的成员组配置:

centos6.5下svn的使用说明

修改conf/authz文件,编辑:

# 添加 开发用户组groupName1
[groups]
groupName1= userName1[,userName2,userName3...]

# 添加开发组对代码目录的读写权限
[/path/to/repo]
@groupName1 = rw

这里的userName1,userName2的用户需是linux里的存在的用户,且对应的svn密码已经在conf/passwd中指定。

到这里就配置好一个组成员的配置了,经测试是ok的.

post-commit钩子配置

粗略的可以理解svn客户端将修改信息以一定格式传输到服务端保存在固定格式的文件里面,

svn up的时候再将这些文件里的信息生效到代码目录里。

我们有时候需要在服务端实时的看到代码更新信息,这就用到了post-commit钩子:

在客户端commit的时候触发服务端到/path/to/repo执行svn up来更新文件,

同时减少日志文件的大小,防止服务端当机后的日志损失。

到svn版本库配置信息目录,

cd hooks,

cp post-commit.tmpl post-commit

编辑post-commit:注释掉最后一行,添加

export LANG=en_US.UTF-8

/usr/bin/svn update --force /path/to/repo

到这里hook钩子就配置好了,重启svn进程,即可看到客户端commit后文件同步更新。

以上就是svn在centos下的简单使用实践,应对日常的开发需求已经足够。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?