您的位置:首页 > 编程语言

svn pre-commit代码审查方案--reviewboard-svn-hooks

2015-12-02 16:41 351 查看
参考:http://blog.csdn.net/gzlaiyonghao/article/details/7162907

svn pre-commit代码审查

使用 reviewboard 作为工具,通过 SVN hooks 强制每一次签入都是经过 review 的;

至少要有 2 个团队成员 ship it,才能够签入。

ship it 的成员中,至少有一个是资深的团队成员。

code review 是如此的有效,以至于我经常向朋友推荐,有一些朋友使用之后,觉得把 reviewboard 跟 SVN 结果起来还是蛮有挑战的,主要是编写 SVN hooks 还是需要学习不少东西,所以基本上他们都放弃了。今天我把 reviewboard-svn-hooks 项目修改、发布出来,方便大家使用。

安装

因为项目已经提交到 pypi(http://pypi.python.org/pypi/reviewboard-svn-hooks),所以简单地在命令行执行:

view plain

easy_install reviewboard-svn-hooks

就可以安装成功了,安装时,可能需要管理员权限(linux/windows都可能需要)。

配置

安装后,需要对 reviewboard-svn-hook 项目进行配置。根据操作系统的不同,存储配置文件的目录也是不同的。在 linux 系统下,它的位置是在 /etc 下,在 windows 系统下,它的位置在 %ALLUSERSPROFILE% 目录下(具体指哪个目录,请参考http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows)。在本文中,以
$CONFDIR 指代之。打开 $CONFDIR/reviewboard-svn-hooks/conf.ini 文件,解释如下:

view plain

[common]

# 是否记录 debugging 输出,0 为不输出,其它值为输出

debug = 0

[reviewboard]

# reviewboard 的网址

url=

# reviewboard 的用户名密码,这样才能够通过 http API 访问到 reviewboard 中的 review request 的状态

username=

password=

[rule]

# 最少需要有几个 ship it

min_ship_it_count =

# 最少需要有几个专家 ship it

min_expert_ship_it_count =

# 专家的 reviewboard 用户名,使用半角逗号分格

experts =

SVN hooks 配置

假定你的 SVN 仓库目录的 $REPOS,并且人来没有设置过 SVN hooks。打开 $REPOS/hooks 目录,把 pre-commit.tmpl 改名为 pre-commit,如果是 linux 系统,记得加上执行权限。

用文本编辑器打开 pre-commit 文件,把里面的内容全部删除掉,替换为下列内容:

view plain

REPOS="$1"

TXN="$2"

strict_review $REPOS $TXN

exit $?

至此,配置就完成了。如果你之前已经配置过 pre-commit,请参考上述脚本自己想办法调用 strict_review 应用程序。

与已经使用过的 reviewboard 集成

如果你之前已经使用 reviewboard 做过若干次 code review,那么你还有一步工作需要做:把之前使用过的 review request id 废掉。首先请找出并记下你们使用过的最大的 review request id,然后在命令行执行如下命令:

view plain

init_used_rid_db CONFDIR/rb-svn-hooks-used-rid.db MAX_REQ_ID

其中 CONFDIR 的值在上文已经提到,MAX_REQ_ID 就是前面说的使用过的最大的 review request id。

最后,如果在使用中有任何问题,请到 http://code.google.com/p/reviewboard-svn-hooks/issues/list 提 issue 告诉我。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: