Gerrit Considered Harmful

I've had to use Gerrit to review changes to a couple of software projects. I've found it to be a hindrance, rather than a help. Reviews via email (e.g. git send-email) are vastly easier and more effective.

Here is a non-comprehensive list of some of the problems I've noticed in Gerrit 2.1.8.

Viewing changes

Gerrit does not make it easy to scroll through the changes in a patch set. Instead, one must click at least once per file changed, to separately view the changes to each file.

When you click on “Download” to view the entire new or old version of a file, Gerrit stuffs the file into a .zip file, with an absurd long name inside the .zip file with the wrong extension, so you have to go through extra steps to actually see it.

There's no way to view extra lines of context skipped over by the diff viewer without downloading the whole file or adjusting a setting at the top of the page. I should be able to just click on the context lines to view them. (It seems that Gerrit 2.3, which is currently unreleased, will add this feature.)

Most tools for viewing differences (e.g. “diff”, “git diff”) display the name of the function being changed when a change is made in the middle of a function. Gerrit does not.

When you view a file that has been renamed, Gerrit doesn't mention that anywhere on the page.

Review text

Gerrit provides the patch submitter no way to say what has changed in the second or later version of a patch, even though this is critical information. (Gerrit does provide an interface to view differences relative to a prior versions of a patch set, but it isn't useful because it folds in unrelated changes that have occurred in the repository in the meantime.)

Gerrit does not provide a way to save a draft of a review.

Gerrit does not recognize the concept of a reply so it does not thread replies.

Gerrit does not provide a way to quote in replies. One must manually cut and paste and insert “>” markers (although it also doesn't display quotations in a sensible way).

Gerrit adds extra data with no obvious value to commit messages (Change-Id: …).

Comments on particular lines of code

Gerrit allows making comments specific to particular lines of code, but:

Gerrit doesn't display comments on code lines on its main page for a commit.

Gerrit doesn't provide any way to jump directly to the comments on code lines from the main page. You have to click on individual files and then scroll around until you find the comments.

Furthermore, if you want to look at comments for a previous version of a review, then you first have to expand that old version of a review on the main page. After that, when you click the Back button in the browser, the old version gets un-expanded. This is really inconvenient for looking at responses to comments.

Email

Every email that Gerrit sends related to a single change has exactly the same subject. It is impossible to learn anything about what has happened without reading the body of the email. Is it a new commit? A review? A revised commit? A commit that has been merged? There is no way to tell.

For multi-patch series, typically people do reviews on the patches in order. Revising an early patch causes Gerrit to send an email for every later patch in the series, asking people to re-review patches which have already been approved. It's difficult to figure out what patches have been reviewed, what patches need review, and what the comments were in a given review

Search

Gerrit has defective search. If you type a few words to search for into the “search” box and hit Enter, you get

Application Error
Server Error
Invalid query: “your query”

Unsupported query: “your query”

This is absurd for a project developed by Google.

Browsers

Gerrit doesn't work with the version of Firefox in Debian squeeze (“The connection was reset”).

Login

When I visit a link directly to a Gerrit review, but I'm not signed in yet, Gerrit displays a page that says “Empty search results” instead of a page that invites me to sign in. It is not at all obvious that the problem is that I'm not signed in.


Last updated 13 Aug 2012 10:11. Copyright © 2012 Ben Pfaff.
May be freely redistributed, but copyright notice must be retained.