[asterisk-dev] Using Review Board for Code Reviews

Russell Bryant russell at digium.com
Tue Oct 21 13:12:51 CDT 2008


Greetings,

I have been playing around with the idea of using a new tool to assist 
the development community in doing code reviews.  The tool is Review 
Board, and can be found here:

      http://www.review-board.org/

Our installation can be found here:

      http://reviewboard.digium.com/

At this point, I just want to make this available to active bug marshals 
and those with commit access to start playing around with.  However, 
read-only access should be available to anyone.  Feel free to try it out 
and get familiar with it.  We regularly ask each other to review patches 
that we write to fix bugs and such, so give it a try in some of these 
instances.

I installed this tool once before internally to give it a try and found 
it very useful when doing reviews of complex sets of changes.  On the 
new installation, I am already making use of it helping with the code 
review of the XML documentation branch.

=== Workflow ===

For those interested in trying it out now, the basic workflow is this:

1) Write some code.

2) Now, you want someone to review your changes, so you create a review 
request.  There are two ways to create a review request.

    a) Use the web interface.
    b) Use the post-review script [1] distributed by reviewboard that
       posts a review request for a set of changes in your working copy.
       The biggest caveat with this is that it's not going to work in
       a working copy made from origsvn.  I'm going to work on making it
       work, though.  When this does work, it makes it very easy to post
       requests.

3) When you create the review request, enter a summary and a 
description.  Also, select the person(s) that you are requesting a 
review from.

It also has a nice feature of review groups that we can use at some 
point.  For example, we could have a "SIP" review group.  When someone 
writes a patch to chan_sip that they would like reviewed, they could 
just request review by the "SIP" group of reviewers.

4) People review your code.  The interface for doing this is great, as 
it makes it very easy to leave comments on specific sections of code. 
When the reviewer would like to post all of their comments, they 
"publish" the review, and it shows up on the page for the review request.

5) You update the review request with a new diff.  You can also address 
specific comments.

6) Repeat 4 and 5 as needed ...

7) When people approve of your patch, they click the "Ship It!" checkbox 
in their review and publish it.  This indicates their approval of your code.

8) You commit your changes.

9) You click "Set Submitted" on your review request.  This effectively 
closes it out, and removes this request from the dashboard of those you 
have requested review from.

=== Mantis Integration ===

Once we as a team become familiar with it, we can decide the best way to 
integrate into the way that we do things.  That is most likely going to 
mean some integration with mantis.  I'm going to work on integrating 
review board with the mantis users and license database.  In addition to 
that, we'll have to find a good way to create review requests for 
patches on mantis, associate the review request with the issue, in a 
pleasant and easy to use way.

======

All of this is an effort to help make code reviews for the Asterisk 
project a more pleasant and efficient experience.  Please give it a try 
and let me know what you think!

Thanks,



[1] 
http://reviewboard.googlecode.com/svn/trunk/reviewboard/contrib/tools/post-review


-- 
Russell Bryant
Senior Software Engineer
Open Source Team Lead
Digium, Inc.



More information about the asterisk-dev mailing list