[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