On 05/24/2013 11:05 AM, Mike Conley wrote:
Sounds like we're talking about code review.

But I want to qualify "integration into bugzilla": I explicitly do not
want a tool that is tightly coupled to bugzilla.  In fact, I want a
tool that has as little to do with bugzilla as feasible.

I'm a contributor to the Review Board project[1], which is not coupled with Bugzilla whatsoever.

Noting that although it's not coupled, Review Board makes it very possible to do things that make it an abandon-able solution. Back in 2009 (before there was extension/plugin support) I modified review board so it could pull your review queue out of bugzilla and automatically generate reviews. To address long-term archival needs, I added export functionality that formatted the review as ASCII text that could be copied and pasted into bugzilla.

Here's an example excerpt from my blog post at http://www.visophyte.org/blog/2009/06/20/review-board-and-bugzilla-reviews-take-2/:
===

on file: mailnews/base/src/nsMessenger.cpp line 635
    // if we have a mailbox:// url that points to an .eml file, we have to read
    // the file size as well

what a pretty comment

on file: mailnews/base/src/nsMessenger.cpp line 642
    NS_ENSURE_SUCCESS(rv, rv);

please rename rv ARRRRRR-VEEEEEE

===

I personally worry about introducing another piece into the existing bugzilla/github interaction, but even 4 years ago, review board had a reviewing experience that is still ahead of both splinter and github. (Although I do have high hopes that github will improve their review experience.) Specifically:

- Side-by-side diff (github-only problem)
- Syntax highlighted code based on syntax highlighting the entire file, so it's not just a line-centric/keyword centric highlighting. - Expandable context! Don't get stuck with only 3 or 8 lines of context. Expand to see the whole file! - Detects when code is just moved around. This came towards the tail end of my use of it, but it was a killer feature for refactored code. No trying to play the game of "match up the added hunk and the removed hunk". It figured it out for you, greatly reducing complexity.

Also nice (versus github):
- Your review isn't published until you push a button, allowing you to make persistent notes to yourself that you can later remove when you see they aren't an issue without bothering anyone else. This also saves you from proactive people fixing things and pushing fixes as you type them and causing massive confusion.
- Reviews don't get nuked by rebases

Right now, for tricky reviews, I find myself having to checkout the code locally then use "git difftool" with the "meld" 3-way merge tool to diff the branch against its base in order to get syntax-highlighted side-by-side diff with full context and smart intra-line diffing.

Andrew
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to