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