Saturday, February 14, 2009

The day has arrived

The day has arrived when ...
1. Debian's next version 5.0 "Lenny" will be released. Not that I use Debian, but a new release means Debian unstable will not be frozen anymore, many new packages will land in unstable and syncs/merges from Debian 'experimental' will reduce in Jaunty development cycle. :-D
2. The Unix time will reach 1234567890. It is about 17 minutes from now. While in some time zones it will be Friday the 13th, in my time zone it is already Valentine's Day. Happy Valentine's Day. :-)

Friday, February 06, 2009

Review Board reaches 1.0 alpha 2 milestone

I don't exactly remember how I came to know about review board. Most probably it was a one of the first ten results in google search for term "code review tool". We decided to evaluate it for use in our time and code reviews have been the easiest part of my job since then.

I must say review board is one of the best tools "of the developers, by the developers, for the developers". The reason it found place in our day to day work is because the initial setup and the use is really easy. I had the review server up and running in flat 30 minutes, this included time to fetch and install all the dependencies.
Note: The setup time may vary on a Windows box.

What makes review board a handy tool is ...
1a. Really intuitive user interface.
Now I haven't looked into other similar tools such as crucible, codestriker but I am really wondering if the UI can be made simpler than what RB offers.
1b. Easy setup.
This shares its first place in the list with 'easy UI'. You have to set it up to believe it.
2. Command line as well as GUI to post the review.
The post-review script is blessing for us because 'p4 diff' s**ks. For other VCS you can use GUI if they want.
3. Syntax highlighting in diff viewer.
Python pygments is working behind the scenes.
4. Diff between the diff revisions.
You post a diff to fix a problem. Someone makes a comment and you post another diff. Not the commenter can check what you actually changed between two diffs. :-)
5. Multiple authentication backends
We are using standard username/password authentication, but there is support for Active Directory as well as NIS.
6. Too many version control systems supported.
You name a VCS and it is supported ... almost. If it is not then scratch your itch. Write a plugin for <insert your favorite VCS here>. On a side note we are using perforce and RB really works well with it.

And the good thing is that it is Free software (otherwise it wouldn't be a subject of this post). :-)

The tool had 1.0 alpha 2 release recently. Which means that all the 'must have' features on the roadmap are implemented. There might be still some quirks/announces depending on the setup but it is being improved every day.

By the way, who is up for the challenge to package review board for Ubuntu before feature freeze. :-)