Introduction to Gerrit

Gerrit is a web based code review and project management tool for Git based projects.

TYPO3's Gerrit interface is located at https://review.typo3.org.

Gerrit handles the review process and is a gatekeeper in front of the official TYPO3 Git repository on github.com/typo3/typo3 (mirrored from a TYPO3 GitLab instance). Directly pushing to the GitHub (or GitLab) repository is not allowed. Instead every change has to pass a review process in Gerrit, which later pushes the change to the GitLab->GitHub repositories.

Overview of the UI

This chapter will explain the most important parts of the Gerrit UI to you. For most developers, this interface should be mostly self-explanatory. Gerrit also comes with its own help system.

This is a screenshot of an open review on Gerrit. We will go through the parts of the UI next:

Screenshot of a code review on Gerrit
  1. The search box lets you write complex search queries with little coding knowledge. For detailed information on how to use the search, refer to the official documentation on https://review.typo3.org/Documentation/user-search.html. Most people use Forger, because it provides more sophisticated ways to find a review. Look at Find a review on Gerrit for more information.
  2. The commit message formatted like we explained in "The commit message".
  3. The Reply Button which you will use to vote on code quality and testing as well as to send comments. We will be covering this button in more detail later.
  4. The Download Button. You will be using this control to cherry pick a change.
  5. Other changes related to this change. This can be either due to a similar topic or because the commit summary is related to the change we are currently reviewing.
  6. The current review status. Here you can see who has voted (and how they voted) on a change. The votes only apply to one given patchset. If a new patchset is uploaded, it must be revoted. Note the +1 by TYPO3com, which means that the automatic testsuite ran successfully.
  7. All changed files in this current change. You can click every file to take a look at what exactly has changed. There is a select box on top of the file list that allows you to do a diff between patch sets to quickly see what has changed.
  8. The history of this change. Here you can see comments, new patch sets, votes on a change etc.