{% include important.html content=“This content is currently in alpha. It is still under review.” %}
A change represents a single commit under review. Each change is identified by a Change-Id.
Multiple git commits can share the same Change-Id, allowing you to update a change as you receive feedback through the code review process. In Gerrit, commits that share the same Change-Id are referred to as patch sets. When a change is approved, only the latest version of a commit is submitted to the repository.
You can view a specific change using Gerrit’s Review screen. This screen provides the following information for each change:
When you open a change in Gerrit, the Review screen displays a number of properties about that change.
In addition, Gerrit displays the status of any additional labels, such as the Verified label, that have been configured for the server. See Review Labels for more information.
Next to the list of change properties is the change message. This message contains user-supplied information regarding what the change does. To modify the change message, click the Edit link.
By default, the change message contains the Change-Id. This ID contains a permanent link to a search for that Change-Id in Gerrit.
In some cases, a change may be dependent on another change. These changes are listed next to the change message. These related changes are grouped together in several categories, including:
Relation Chain. These changes are related by parent-child relationships, regardless of topics.
Merge Conflicts. These are changes in which there is a merge conflict with the current change.
Submitted Together. These are changes that share the same topics.
An arrow indicates the change you are currently viewing.
Changes can be grouped by topics. Topics make it easier to find related changes by using the topic search operator. Changes with the same topic also appear in the Relation Chain section of the Review screen.
Grouping changes by topics can be helpful when you have several changes that, when combined, implement a feature.
Assigning a topic to a change can be done in the change screen or through a git push
command.
Each project in Gerrit can employ a specific submit strategy. This strategy is listed in the change properties section of the Review screen.
The following table lists the supported submit strategies.
Any project owner can use the Project screen to modify the method Gerrit uses to submit a change.
Gerrit uses a Change-Id to identify which patch sets belong to the same review. For example, you make a change to a project. A reviewer supplies some feedback, which you address in a second commit. By assigning the same Change-Id to both commits, Gerrit can attach those commits to the same change.
Change-Ids are appended to the end of a commit message, and resemble the following:
commit 29a6bb1a059aef021ac39d342499191278518d1d Author: A. U. Thor <author@example.com> Date: Thu Aug 20 12:46:50 2009 -0700 Improve foo widget by attaching a bar. We want a bar, because it improves the foo by providing more wizbangery to the dowhatimeanery. Bug: #42 Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b Signed-off-by: A. U. Thor <author@example.com> CC: R. E. Viewer <reviewer@example.com>
Gerrit requires that the Change-Id is in the footer (last paragraph) of a commit message. It can be combined with a Signed-off-by, CC, or other lines. For instance, the previous example has a Change-Id, along with a Signed-off-by and CC line.
Notice that the Change-Id is similar to the commit id. To avoid confusing the two, a Change-Id typically begins with an I
.
While there are several ways you can add a Change-Id, the standard method uses git’s commit-msg hook to automatically add the Change-Id to each new commit.