my webrev experiment: public, interactive and easy

Inside Sun, we use webrev to do code reviews, you can see an example here.

Well, there're several reasons I don't like webrev very much:
  • It's a pile of static files, you must first create them, and upload them to a public website (possibly one by one).
  • It used to be a nice archive of what you've done, but now in Mercurial we already have changesets.
  • It includes no interactive review process
OK, only the first reason is real. I just cannot resist the temptation to create a list.

Recently I've done some experiments on creating a new review style which is meant to be:
  • Public, the patch can be created and reviewed by anyone
  • Easy, creation and viewing are both very easy
  • Richer interaction, request and review can be done interactively along with the patch
I'm using the Google App Engine for a prototype called hgrev. The current implementation is already public and easy. By using the Google Accounts system, I believe the richer interaction should be fairly easy to add. Now it runs in a create-only mode, which means after you create a hgrev request, it cannot be modified anymore. This is not a bad idea before the accounts system is used.

To create a hgrev, you need to provide three info:
  1. A title, possibly a synopsis of a bug item
  2. The base URL, a public accessible URL that your patch is based on. If you're working on 2 patches at the same time on a single file, sorry. Maybe one day the base URL can be also another hgrev request.
  3. The patch itself, which is the raw output of "hg diff". Or if you use Mercurial Queue, the raw content of the patch file.
After you enter these information, a new hgrev request is created, you can send the URL of the request to anyone you ask for a code review. The reviewer can read the patch itself, or read a side-by-side comparison of each file before/after the patch. Since you've already provided the base URL, the reviewer can go back to the Mercurial code repository to read related codes etc.

Take a try at http://hgrev.appspot.com/, I've already included several examples there.

By the way, if the webpage does not work with IE or any other web browser, that's my fault.
Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

This blog has a comments managing system that requires me to approve each comment manually. Please do not re-post and I will reply it (if I have an answer) when I get pinged.

Search

Top Tags
Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today