ReviewBoard代码审查使用说明目录1简介..............................................................................................................................................22使用...............................................................................................................................................22.1登录....................................................................................................................................22.2pre-commitreview的模式创建reviewrequest................................................................42.3评审已发布的reviewrequest............................................................................................82.4关闭reviewrequest...........................................................................................................92.5post-commitreview模式提交reviewrequest.................................................................101简介ReviewBoard是一套成熟的开源的、有好的基于web的codereview平台,目前已在业内得到广泛的使用。可以与SVN、CVS、Git、ClearCase等大部分版本控制工具配合,基本可以用于review任何代码。ReviewBoard支持两种reviewcode的模式,一种是在code没有commit之前提交diff/patch文件进行review,叫做pre-commitreview,另外一种则是在codecommit之后,由工具自动根据提交的版本号生成diff/patch文件,并形成一条新的ReviewRequest,这种模式也叫post-commitreview。2使用ReviewBoard服务器的安装、平台搭建这里不作说明,现已建立了infinova公司统一ReviewBoard平台,研发中心开发人员均可登录访问及使用。平台地址:注1:IE浏览器必须使用IE9以上版本。如果是XP系统不能安装IE9及其以上的版本,请安装火狐浏览器(安装包,华侨城:\\10.82.1.3\Tools\浏览器,观澜:\\10.10.10.3\办公软件\浏览器)。注2:请使用域用户名和密码登录。注3:为了保证上传的需要review的diff代码的中文注释能正常显示,请将代码文档格式设置为UTF-8,或注释用英文。注4:在中文系统中,不管使用SVN客户端英文版本还是中文版本打patch时,patch文件中都会有“版本”“工作空间”中文字,且格式还是ANSI的,导致patch文件上传reviewboard会出现错误。需要增加一个环境变量:变量名:LANG,变量值:en_US.UTF-8.2.1登录在浏览器输入地址将弹出下面界面,输入用户名和密码后进入ReviewBoard界面。用户登录后即可创建reviewrequest和查看reviewrequest等操作。登录后点击“NewReviewRequest”页可以看到已经创建的项目SVN配置库名称,与我们正在使用的SVN配置库名称完全一致。2.2pre-commitreview的模式创建reviewrequest1)使用svn客户端,登录svn2)checkout相应的代码,然后对其进行修改,修改完后用TortoiseSVN的createpatch工具产生diff或patch文件(可以同时选中多个文件或文件夹产生一个diff或patch文件,在viewdiff时能看到多个文件分别的对比)3)登录reviewboard提交reviewrequest选择newreviewrequest:选择对应的repository,并点击“Select”选择生成的patch或diff文件,在接下来的basedirectory中填入要修改的文件在配置库的相对目录位置(点击某个目录生成diff文件的那个目录层地址,如这里的)。4)设置reviewrequest点击上图中的OK后弹出新建的reviewrequest设置界面。点击小铅笔,填写summary,及description等信息,*部分为必填项(选择reviewgroup或者是直接指定reviewpeople,填单个people时用空格隔开)。注:留意reviewquest#11是对应的reviewid,后面可能会用到。填好以上的信息后即可点击publish将会把request发给reviewers(自动邮件发送)。或者点击discard放弃。5)几个选项介绍Close:有Discarded和DeletePermanently两个小项。Discarded是关闭reviewrequest,使得reviewrequest从reviewer的页面消除,完成一个request,但是被关闭的的reviewrequest在数据库中还保存着。记得记下reviewid。DeletPermanently:永久删除reviewrequest,不可恢复。Update:有UpdateDiff和AddFile两小项,UpdateDiff,当发布的reviewrequest被人提出修改意见,根据修改人提出的意见对代码进行修后,重新打patch文件,更新上传这个patch文件。更新patch后在界面下面显示两次diff的修改区别。AddFile:可以上传截图及其他附件文件。DownloadDiff:下载上传的patch文件到本地。Review:填写review的最终意见,并确定是否勾选shipit(意味着review通过,同意提交。不同意提交的话就不要shipit)全部填写完成后,在上方会看到一个提示,选择publish结束review工作。publish后requester会收到相应的提醒邮件。注:这项是revierer填写的,是在点击ViewDiff项查看patch文件后作出的回应。ShipIt!:直接点击shipittab页,效果直接相当于shipit并且publish。ViewDiff:点击viewDiff,查看修改的文件与未修改前的文件对比。如果有问题,可以点击具体的代码某行,会弹出一个绿色对话框,填写yourcomment,同时,如果需要则勾选openanissue,save。2.3评审已发布的reviewrequestReviewRequest发布之后,指定的reviewer会收到一封提醒邮件。reviewer登录系统将会在自己账户的mydashboard中查看到需要自己去review的reviewrequest。绿色及打钩表示已经评审通过,蓝色及打钩表示登录账户本人的意见。点击还未review的request打开进行review。在弹出的request具体界面,点击viewDiff,查看修改的文件与未修改前的文件对比。如果有问题,可以点击具体的代码某行,会弹出一个绿色对话框,填写yourcomment,同时,如果需要则勾选openanissue,save。之后点击review,可以填写review的最终意见,并确定是否勾选shipit,全部填写完成后,在上方会看到一个提示,选择publish结束review工作。publish后requester会收到相应的提醒邮件。2.4关闭reviewrequest登录提交reviewrequest的账号进行查看,可以看到相应的review信息。当request被shipit后,可以点击closed-submitted,或者discard,以使得reviewrequest从reviewer的页面消除。完成一个request,记得记下reviewid。Submitted后在AllReviewRequest也能查看到,而discard的request将查看不到。2.5post-commitreview模式提交reviewrequestPost-commitreview是代码提交后,在reviewboard中手动点击提交版本日志,由工具自动根据提交的版本号生成diff/patch文件,并形成一条新的ReviewRequest。1)在本地工作副本(workspace)将代码提交至SVN服务器中2)登录reviewboard,打开NewReviewRequest页,点击左边的版本库,右边将显示该版本库下直接子目录的版本日志信息。3)点击刚提交的版本日志或之前的某个版本,reviewboard会自动生成一个reviewrequest(是基于该版本与上一版本的差异的patch文件),如将Hi3516A项目库下的647版本设置reviewrequest,直接单击该版本即可:默认以日志信息填写了summary和description,你可以进行修改。再填上需要发布的reviewers。其他发布及review活动步骤与上面的pre-commitreview模式相同。这种方式下设置reviewrequest后,返回到NewReviewRequest页可以看到Hi3516A库下的647版本已设置过request不需要重复设置。