准备推行code review,需要个合适的工具。谷歌了一下,选择了当前最热门的ReviewBoard。热门,相关的资料也多,找了篇安装文档
(
http://billben.iteye.com/blog/1190481)就吭哧吭哧按部就班的安装起来。
但是我们使用的SCM工具为ClearCase,安装后测试时还是遇到了很多问题,折腾了一周才把那些问题都解决了,特此总结一下。
1、ClearCase
命令行进入版本库视图的vob目录下,执行”cleartool lsview -full -properties -cview”测试,如果执行结果不能马上返回(慢的话可能会耗时10多秒),需要把该视图删了重新创建。
当post-review、编辑reviewboard的request、或view diff时,该命令会被多次调用。速度慢会严重影响性能。 2、easy_install
使用easy_install时,由于Python的部分模块被墙,在执行之前需要先设置一个可用的http代理。
假如本地已经有个808端口的http代理,则在命令行中先运行如下命令,再执行easy_install安装命令。
set http_proxy=http://localhost:808
若是个socks代理,则可以下载个CCProxy,通过它的二级代理功能将其转为http代理。
3、客户端执行post-review时Error uploading diff
在服务器命令行能正常post-review的,客户端就不行了。最终通过代码调式确认,Windows下安装官方的apache,默认配置没有读取clearcase文件的权限。换成xampp的apache就正常了。
4、R6034 runtime error
Apache运行起来后,第一次访问时reviewboard时弹出R6034 runtime error警告框。原因是与环境变量Path中的msvcp90.dll 、msvcr90.dll文件冲突。
执行如下命令检查,
将该路径从path中去掉,重启XAMPP即可。
for %i in (msvcp90.dll) do @echo. %~$PATH:i
for %i in (msvcr90.dll) do @echo. %~$PATH:i
5、服务器端闪动命令行窗口
操作reviewboard时,服务器端调用clearcase.py时,会在subprocess.Popen执行cmd命令,默认参数会弹出窗口执行命令。解决方案:增加“shell=True”参数。subprocess.Popen(
cmdline,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=repopath,
shell=True)