本文需要在svn与reviewboard安装成功之后开始进行配置,详情参考如下两篇文章根据实际情况操作:

Ubuntu安装Apache+Svn+Submin

Ubuntu下安装ReviewBoard

使用须知:

1、使用ReviewBoard作为code review工具,通过SVN hooks强制每一次提交文件都需要经过review;
2、必须获得"ship it"后才能提交;
3、"ship ip"成员以及数量可以自己进行配置

1、首先安装"reviewboard-svn-hooks",下载地址如下:

http://pypi.python.org/pypi/reviewboard-svn-hooks

JAVA svn代码提交检查 svn做codereview_svn


下载之后解压并进入解压后的目录进行安装:

python setup.py install

安装成功之后修改如下文件:

/etc/reviewboard-svn-hooks/conf.ini

JAVA svn代码提交检查 svn做codereview_code review_02


文件内容如下:

[common]  
# 是否记录debugging输出,0为不输出,1为输出  
debug = 0  
  
[reviewboard]  
url=http://192.168.2.107/review/   # reviewboard访问地址
# reviewboard 的用户名密码
username=admin 
password=admin
  
[rule]  
# 最少需要有几个ship it  
min_ship_it_count = 2 
# 最少需要有几个专家 ship it  
min_expert_ship_it_count = 2
# 专家的reviewboard用户名,使用半角逗号分格  
experts = admin,button,test
 
# 指定必须review 的目录,默认为空,即表示强制 review 所有提交请求  
# eg: review_path = src  
review_path =   
# 配置的路径则不会触发检测。  
ignore_path =

2、SVN hooks配置

进入svn仓库的hooks目录,将pre-commit.tmpl更名为pre-commit,删除所有内容,修改如下:

JAVA svn代码提交检查 svn做codereview_用户名_03


JAVA svn代码提交检查 svn做codereview_svn_04

#!/bin/sh
REPOS="$1"  
TXN="$2"  
strict_review $REPOS $TXN  
exit $?

JAVA svn代码提交检查 svn做codereview_reviewboard_05


注:pre-commit必须赋予权限,否则会出现如下错误:

pre-commit hook (exit code 255) with output:

3、eclipse配置Tao-ReviewBoard插件并配置
Tao-ReviewBoard离线下载地址:http://code.taobao.org/p/tao-reviewboard/file/2852/tao_reviewboard.zip eclipse添加Tao-ReviewBoard插件可自行baidu添加,配置如下:

JAVA svn代码提交检查 svn做codereview_JAVA svn代码提交检查_06


4、使用eclipse对修改文件进行review

选中需要review的修改文件->Pre-Commit Request to ReviewBoard

JAVA svn代码提交检查 svn做codereview_用户名_07


JAVA svn代码提交检查 svn做codereview_reviewboard_08


如下则提交成功:

JAVA svn代码提交检查 svn做codereview_用户名_09


5、查看review文件

登录ReviewBoard便可以查看review的文件:

JAVA svn代码提交检查 svn做codereview_JAVA svn代码提交检查_10


点击对应文件:

JAVA svn代码提交检查 svn做codereview_svn_11


6、提交文件

当获得正确数量的"ship it"之后就有了提交的权限

提交注释"review:60",即review:id,id即为当前的review的id,“:”必须为英文状态

JAVA svn代码提交检查 svn做codereview_code review_12


注:

①提交注释没有对应review的id

JAVA svn代码提交检查 svn做codereview_code review_13


②提交的文件没有满足配置的"ship it"

JAVA svn代码提交检查 svn做codereview_code review_14


③每个review的id只能使用一次,第二次使用则会出现如下错误

JAVA svn代码提交检查 svn做codereview_reviewboard_15

注:提交时遇到如下错误:

JAVA svn代码提交检查 svn做codereview_svn_16


解决方案:对于"/etc/reviewboard-svn-hooks"目录必须要有权限,否则就会出现如上所示的问题,加上权限重新提交便可解决。