Phabricator also has other niceties like syntax highlighting within diffs, two-column diffs (which admittedly GitHub added about a month ago), and a solid command-line tool ("arc") for sending off reviews, etc.
Phabricator also has other niceties like syntax highlighting within diffs, two-column diffs (which admittedly GitHub added about a month ago), and a solid command-line tool ("arc") for sending off reviews, etc.
* The review dashboard already shows all the reviews you're involved, but not yet which ones require action. This feature is coming soon -- I have all the data, just need to add some code to massage and display it appropriately.
Even in Phabricator, though, when you have multiple reviewers only one has to accept for it to be accepted. Oftentimes it is _more_ confusing to have multiple reviewers because you don't know who should have the final say.
Github has Hub (https://github.com/github/hub) which is as powerful, if not more so, than arc.
The commenting system is a matter of preference, but having forgotten to "Clowncopterize" (a great demonstration of the professionalism of those who hack on Phabricator) comments, and given that they thread in email, it hasn't been a problem for me. Though I understand where you're coming from.
Yeah, this depends on workflow. We generally send every piece of code to two reviewers but just wait for either one to accept, unless there's a particular reason that both should look at the review. This works well for us but I can see how it wouldn't work as well for people with other processes.
> The commenting system is a matter of preference, but having forgotten to "Clowncopterize" (a great demonstration of the professionalism of those who hack on Phabricator) comments, and given that they thread in email, it hasn't been a problem for me. Though I understand where you're coming from.
Yes, Phabricator's isn't perfect but it's the best of the ones I've tried, especially if everyone using it is familiar with the tool and uses it frequently (that is, you might forget to Clowncopterize once or twice ever, but then you'll know for the future). I used to use Kiln (http://www.fogcreek.com/kiln/) which had a different approach for emails – they essentially debounce emails to have a half-hour delay and coalesce any emails within that timeframe together, so you get fewer emails but don't need to submit the collection of comments explicitly. Having tried all three choices, I'd say that they're all painful in different ways and I personally prefer Phabricator's approach.
For this Gerrit[1] does offer the possibility to fully customize the approval process. It's a bit freaking odd at start because it relies on Prolog [2] but it's the way to tailor the tool to your process
[1] https://code.google.com/p/gerrit/ [2] https://gerrit-review.googlesource.com/Documentation/prolog-...
Phabricator allows "blocking reviewers", meaning that those reviewers must. There can be any number of blocking reviewers. These reviewers can be groups or individuals. For example, you could require someone from the "Security" group to accept every revision.