Marian Harbach | ebeb154 | 2019-12-13 10:42:46 +0100 | [diff] [blame] | 1 | :linkattrs: |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 2 | = Review UI Overview |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 3 | |
| 4 | Reviewing changes is an important task and the Gerrit Web UI provides |
| 5 | many functionalities to make the review process comfortable and |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 6 | efficient. |
| 7 | |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 8 | [[change-screen]] |
| 9 | == Change Screen |
| 10 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 11 | The change screen is the main view for a change. It shows the details of a |
| 12 | single change and allows various actions on it. |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 13 | |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 14 | image::images/user-review-ui-change-screen.png[width=800, link="images/user-review-ui-change-screen.png"] |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 15 | |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 16 | Here are the main areas of the screen |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 17 | |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 18 | image::images/user-review-ui-change-screen-annotated.png[width=800, link="images/user-review-ui-change-screen-annotated.png"] |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 19 | |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 20 | |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 21 | === Top info |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 22 | |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 23 | Top left, you find the status of the change, and a permalink. |
| 24 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 25 | image::images/user-review-ui-change-screen-topleft.png[width=600, link="images/user-review-ui-change-screen-topleft.png"] |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 26 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 27 | [[change-status]] |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 28 | The change status shows the state of the change: |
| 29 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 30 | - `Active`: |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 31 | + |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 32 | The change is under active review. |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 33 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 34 | - `Merge Conflict`: |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 35 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 36 | The change can't be merged into the destination branch due to conflicts. |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 37 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 38 | - `Ready to Submit`: |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 39 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 40 | The change has all necessary approvals and fulfils all other submit |
| 41 | requirements. It can be submitted. |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 42 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 43 | - `Merged`: |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 44 | + |
| 45 | The change was successfully merged into the destination branch. |
| 46 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 47 | - `Abandoned`: |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 48 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 49 | The change was abandoned. It is not intended to be updated, reviewed or |
| 50 | submitted anymore. |
| 51 | |
| 52 | - `Private`: |
| 53 | + |
| 54 | The change is marked as link:intro-user.html#private-changes[Private]. And has |
| 55 | reduced visibility. |
| 56 | |
| 57 | - `Revert Created|Revert Submitted`: |
| 58 | + |
| 59 | The change has a corresponding revert change. Revert changes can be created |
| 60 | through UI (see <<actions, Actions section>>). |
| 61 | |
| 62 | - `WIP`: |
| 63 | + |
| 64 | The change was marked as "Work in Progress". For example to indicate to |
| 65 | reviewers that they shouldn't review the change yet. |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 66 | |
Han-Wen Nienhuys | 552fe48 | 2021-05-11 19:07:29 +0200 | [diff] [blame] | 67 | [[star]] |
| 68 | === Star Change |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 69 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 70 | Clicking the star icon bookmarks the change: it turns on |
Han-Wen Nienhuys | 552fe48 | 2021-05-11 19:07:29 +0200 | [diff] [blame] | 71 | email notifications for this change, and the change is added to the |
| 72 | list under `Your` > `Starred Changes`. They can be queried by the |
| 73 | link:user-search.html#is[is:starred] search operator. |
Edwin Kempin | b6c2a3b | 2014-05-14 10:37:17 +0200 | [diff] [blame] | 74 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 75 | [[quick-links]] |
| 76 | === Links Menu |
| 77 | |
| 78 | Links menu contains various change related strings for quick copying. Such as: |
| 79 | Change Number, URL, Title+Url, etc. The lines in this menu can also be accessed |
| 80 | via shortcuts for convenience. |
| 81 | |
| 82 | image::images/user-review-ui-copy-links.png[width=600, link="images/user-review-ui-copy-links.png"] |
| 83 | |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 84 | [[change-info]] |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 85 | === Change metadata |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 86 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 87 | The change metadata block contains detailed information about the change. |
| 88 | |
| 89 | image::images/user-review-ui-change-metadata.png[width=600, link="images/user-review-ui-change-metadata.png"] |
| 90 | |
Mike Frysinger | 5e7c02c | 2022-12-14 17:57:36 -0500 | [diff] [blame] | 91 | - [[owner]]Owner/Uploader/Author/Committer: |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 92 | + |
| 93 | Owner is the person who created the change |
| 94 | + |
| 95 | Uploader is the person who uploaded the latest patchset (the patchset that will |
| 96 | be merged if the change is submitted) |
| 97 | + |
| 98 | Author/Committer are concepts from Git and are retrieved from the commit when |
| 99 | it's sent for review. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 100 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 101 | - [[reviewers]]Reviewers: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 102 | + |
Han-Wen Nienhuys | 0f1154b | 2021-05-11 16:42:16 +0200 | [diff] [blame] | 103 | The reviewers of the change are displayed as chips. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 104 | + |
| 105 | For each reviewer there is a tooltip that shows on which labels the |
| 106 | reviewer is allowed to vote. |
| 107 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 108 | New reviewers can be added through reply dialog that is opened by clicking on |
| 109 | the pencil icon or on "Reply" button. Typing into the reviewer text field |
| 110 | activates auto completion of user and group names. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 111 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 112 | |
| 113 | - [[cc-list]]CC: |
| 114 | + |
| 115 | Accounts in CC receive notifications for the updates on the change, but don't |
| 116 | need to vote/review. If the CC'ed user votes they are moved to reviewers. |
| 117 | + |
| 118 | |
Kamil Musin | b75743e | 2023-02-01 17:13:07 +0100 | [diff] [blame] | 119 | - [[attention-set]]link:user-attention-set.html[Attention set]: |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 120 | + |
| 121 | Users in attention set are marked by "chevron" symbol (see screenshot above). |
| 122 | The mark indicates that there are actions their attention is required on the |
| 123 | change: Something updated/changed since last review, their vote is required, |
| 124 | etc. |
| 125 | + |
| 126 | Changes for which you are currently in attention set can be found using |
| 127 | `attention:<User>` in search and show up in a separate category of personal |
| 128 | dashboard. |
| 129 | + |
| 130 | Clicking on the mark removes the user from attention set. |
| 131 | |
| 132 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 133 | [[remove-reviewer]] |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 134 | Reviewers can be removed from the change by selecting the appropriate option on |
| 135 | the chip's hovercard. Removing a reviewer also removes current votes of the |
| 136 | reviewer. The removal of votes is recorded in the change log. |
| 137 | |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 138 | Removing reviewers is protected by permissions: |
| 139 | |
| 140 | ** Users can always remove themselves. |
| 141 | ** The change owner may remove any zero or positive score. |
| 142 | ** Users with the link:access-control.html#category_remove_reviewer[ |
| 143 | Remove Reviewer] access right, the branch owner, the project owner |
| 144 | and Gerrit administrators may remove anyone. |
| 145 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 146 | - [[repo-branch-topic]]Project (Repo) / Branch / Topic: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 147 | + |
| 148 | The name of the project for which the change was done is displayed as a |
| 149 | link to the link:user-dashboards.html#project-default-dashboard[default |
| 150 | dashboard] of the project. If no default dashboard is defined, the link |
| 151 | opens a list of open changes on the project. |
| 152 | + |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 153 | The name of the destination branch is displayed as a link to a list |
| 154 | with all changes on this branch that have the same status as the |
| 155 | currently viewed change. |
| 156 | + |
| 157 | If a topic was assigned to the change it is displayed below the branch. |
| 158 | By clicking on the edit icon the topic can be set. This requires the |
| 159 | link:access-control.html#category_edit_topic_name[Edit Topic Name] |
| 160 | access right. To be able to set a topic on a closed change, the |
| 161 | `Edit Topic Name` must be assigned with the `force` flag. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 162 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 163 | - [[parent]]Parent: |
| 164 | + |
| 165 | Parent commit of the latest uploaded patchset. Or if the change has been merged |
| 166 | the parent of the commit it was merged as into the destination branch. |
| 167 | |
| 168 | - [[merged-as]]Merged As: |
| 169 | + |
| 170 | The SHA of the commit corresponding to the merged change on the destination |
| 171 | branch. |
| 172 | |
Mike Frysinger | 5e7c02c | 2022-12-14 17:57:36 -0500 | [diff] [blame] | 173 | - [[revert-created-as]]Revert (Created|Submitted) As: |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 174 | + |
| 175 | Points to the revert change, if one was created. |
| 176 | |
Mike Frysinger | 5e7c02c | 2022-12-14 17:57:36 -0500 | [diff] [blame] | 177 | - [[cherry-pick-of]]Cherry-pick of: |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 178 | + |
| 179 | If the change was created as cherry-pick of some other change to a different |
| 180 | branch, points to the original change. |
| 181 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 182 | - [[submit-strategy]]Submit Strategy: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 183 | + |
| 184 | The link:project-setup.html#submit_type[submit strategy] that will be |
| 185 | used to submit the change. The submit strategy is only displayed for |
| 186 | open changes. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 187 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 188 | - [[hastags]]Hashtags: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 189 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 190 | Arbitrary string hashtags, that can be used to categorize changes and later use |
| 191 | hashtags for search queries. |
| 192 | |
| 193 | [[submit-requirements]] |
| 194 | === Submit Requirements |
| 195 | |
| 196 | image::images/user-review-ui-submit-requirements.png[width=600, link="images/user-review-ui-copy-links.png"] |
| 197 | |
| 198 | Submit Requirements describe various conditions that must be fulfilled before |
| 199 | the change can be submitted. Hovering over the requirement will show the |
| 200 | description of the requirement, as well as additional information, such as: |
| 201 | corresponding expression that is being evaluated, who can vote on the related |
| 202 | labels etc. |
| 203 | |
| 204 | Approving votes are colored green; negative votes are colored red. |
| 205 | |
| 206 | For more detail on Submit Requirements see |
| 207 | link:config-submit-requirements.html[Submit Requirement Configuration] page. |
| 208 | |
| 209 | [[actions]] |
Mike Frysinger | 5e7c02c | 2022-12-14 17:57:36 -0500 | [diff] [blame] | 210 | === Actions |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 211 | Actions buttons are at the top right and in the overflow menu. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 212 | Depending on the change state and the permissions of the user, different |
| 213 | actions are available on the change: |
| 214 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 215 | ** [[submit]]`Submit`: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 216 | + |
| 217 | Submits the change and adds it to the merge queue. If possible the |
| 218 | change is merged into the destination branch. |
| 219 | + |
David Pursehouse | 53b1bd0 | 2014-05-09 11:18:08 +0900 | [diff] [blame] | 220 | The `Submit` button is available if the change is submittable and |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 221 | the link:access-control.html#category_submit[Submit] access right is |
| 222 | assigned. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 223 | |
Andrew Bonventre | 4af9d8c | 2016-05-26 15:08:32 -0400 | [diff] [blame] | 224 | ** [[revert]]`Revert`: |
| 225 | + |
| 226 | Reverts the change via creating a new one. |
| 227 | + |
| 228 | The `Revert` button is available if the change has been submitted. |
| 229 | + |
| 230 | When the `Revert` button is pressed, a panel will appear to allow |
| 231 | the user to enter a commit message for the reverting change. |
| 232 | + |
| 233 | Once a revert change is created, the original author and any reviewers |
| 234 | of the original change are added as reviewers and a message is posted |
| 235 | to the original change linking to the revert. |
| 236 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 237 | ** [[abandon]]`Abandon`: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 238 | + |
| 239 | Abandons the change. |
| 240 | + |
| 241 | The `Abandon` button is only available if the change is open and the |
| 242 | link:access-control.html#category_abandon[Abandon] access right is |
| 243 | assigned. |
| 244 | + |
| 245 | When a change is abandoned, a panel appears that allows one to type a |
| 246 | comment message to explain why the change is being abandoned. |
| 247 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 248 | ** [[restore]]`Restore`: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 249 | + |
| 250 | Restores the change. |
| 251 | + |
| 252 | The `Restore` button is only available if the change is abandoned and |
| 253 | the link:access-control.html#category_abandon[Abandon] and the |
| 254 | link:access-control.html#category_push[Push] access right is |
| 255 | assigned. |
| 256 | + |
| 257 | When a change is restored, a panel appears that allows one to type a |
| 258 | comment message to explain why the change is being restored. |
| 259 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 260 | ** [[rebase]]`Rebase`: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 261 | + |
| 262 | Rebases the change. The rebase is always done with content merge |
| 263 | enabled. If the rebase is successful a new patch set with the rebased |
| 264 | commit is created. If the rebase fails, there are conflicts that have |
| 265 | to be resolved manually. |
| 266 | + |
| 267 | If the change does not depend on another open change, it is rebased |
| 268 | onto the tip of the destination branch. |
| 269 | + |
| 270 | If the change depends on another open change, it is rebased onto the |
| 271 | current patch set of that other change. |
| 272 | + |
Zalan Blenessy | 366d785 | 2015-03-18 11:40:48 +0100 | [diff] [blame] | 273 | It is possible to change parent revision of a change. The new parent |
| 274 | revision can be another change towards the same target branch, or |
| 275 | the tip of the target branch. |
| 276 | + |
| 277 | The `Rebase` button is only available if |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 278 | the link:access-control.html#category_rebase[Rebase] access right is |
| 279 | assigned. Rebasing merge commits is not supported. |
| 280 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 281 | ** [[cherry-pick]]`Cherry-Pick`: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 282 | + |
| 283 | Allows to cherry-pick the change to another branch. The destination |
| 284 | branch can be selected from a dialog. Cherry-picking a change creates a |
| 285 | new open change on the selected destination branch. |
| 286 | + |
| 287 | It is also possible to cherry-pick a change to the same branch. This is |
| 288 | effectively the same as rebasing it to the current tip of the |
| 289 | destination branch. This can be used to remove dependencies on other |
| 290 | open changes. |
| 291 | + |
| 292 | Users can only cherry-pick changes to branches for which they are |
| 293 | allowed to upload changes for review. |
| 294 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 295 | ** [[delete]]`Delete Change` / `Delete Revision`: |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 296 | + |
David Ostrovsky | 6ffb7d9 | 2017-02-13 21:16:58 +0100 | [diff] [blame] | 297 | Deletes the change. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 298 | + |
Paladox none | 580ae0e | 2017-02-12 18:15:48 +0000 | [diff] [blame] | 299 | For open or abandoned changes, the `Delete Change` button will be available |
| 300 | and if the user is the change owner and is granted the |
| 301 | link:access-control.html#category_delete_own_changes[Delete Own Changes] |
David Pursehouse | 42488f8 | 2018-07-05 13:24:47 +0900 | [diff] [blame] | 302 | permission, if they are granted the |
David Pursehouse | dab2429 | 2018-07-06 09:51:56 +0900 | [diff] [blame] | 303 | link:access-control.html#category_delete_changes[Delete Changes] permission, |
| 304 | or if they are an administrator. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 305 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 306 | ** [[plugin-actions]]Further actions may be available if plugins are installed. |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 307 | |
| 308 | + |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 309 | image::images/user-review-ui-change-screen-change-info-actions.png[width=400, link="images/user-review-ui-change-screen-change-info-actions.png"] |
Edwin Kempin | f1a84f9 | 2014-04-30 15:37:48 +0200 | [diff] [blame] | 310 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 311 | [[files-tab]] |
Edwin Kempin | ab777f1 | 2014-05-02 11:47:57 +0200 | [diff] [blame] | 312 | === File List |
| 313 | |
| 314 | The file list shows the files that are modified in the currently viewed |
| 315 | patch set. |
| 316 | |
Han-Wen Nienhuys | ba25943 | 2021-05-11 16:57:45 +0200 | [diff] [blame] | 317 | image::images/user-review-ui-change-screen-file-list.png[width=800, link="images/user-review-ui-change-screen-file-list.png"] |
Edwin Kempin | ab777f1 | 2014-05-02 11:47:57 +0200 | [diff] [blame] | 318 | |
Edwin Kempin | 8fd96b9 | 2016-12-05 16:39:03 +0100 | [diff] [blame] | 319 | [[magic-files]] |
| 320 | In addition to the modified files the file list contains magic files |
| 321 | that are generated by Gerrit and which don't exist in the repository. |
| 322 | The magic files contain additional commit data that should be |
| 323 | reviewable and allow users to comment on this data. The magic files are |
| 324 | always listed first. The following magic files exist: |
| 325 | |
| 326 | * `Commit Message`: |
| 327 | + |
| 328 | The commit message and headers with the parent commit(s), the author |
| 329 | information and the committer information. |
| 330 | |
| 331 | * `Merge List` (for merge commits only): |
| 332 | + |
| 333 | The list of commits that are being integrated into the destination |
| 334 | branch by submitting the merge commit. |
| 335 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 336 | Every file is accompanied by a number of extra information, such as status |
| 337 | (modified, added, deleted, etc.), number of changed lines, type (executable, |
| 338 | link, plain), comments and others. Hovering over most icons and columns reveals |
| 339 | additional information. |
| 340 | |
| 341 | Each file can be expanded to view the contents of the file and diff. For more |
| 342 | information see <<diff-view, Diff View>> section. |
| 343 | |
| 344 | [[comments-tab]] |
| 345 | === Comments Tab |
| 346 | |
| 347 | Instead of the file list, a comments tab can be selected. Comments tab presents |
| 348 | comments along with related file/diff snippets. It also offers some filtering |
| 349 | opportunities at the top (ex. only unresolved, only comments from user X, etc.) |
| 350 | |
| 351 | image::images/user-review-ui-change-screen-comments-tab.png[width=800, link="images/user-review-ui-change-screen-comments-tab.png"] |
| 352 | |
| 353 | [[checks-tab]] |
| 354 | === Checks Tab |
| 355 | Checks tab contains results of different "Check Runs" installed by plugins. For |
| 356 | more information see link:pg-plugin-checks-api.html[Checks API] page. |
Edwin Kempin | ab777f1 | 2014-05-02 11:47:57 +0200 | [diff] [blame] | 357 | |
Edwin Kempin | b2a8ae3 | 2014-05-02 15:03:22 +0200 | [diff] [blame] | 358 | [[patch-sets]] |
| 359 | === Patch Sets |
| 360 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 361 | The change screen only presents one pair of patch sets (`Patchset A` and |
| 362 | `Patchset B`) at a time. `A` is always an earlier upload than `B` and serves as |
| 363 | a base for diffing when viewing changes in the files. Which patch |
| 364 | sets is currently viewed can be seen from the `Patch Sets` drop-down |
| 365 | panel in the change header. If patchset 'A' is not selected a parent commit of |
| 366 | patchset 'B' is used by default. |
Edwin Kempin | b2a8ae3 | 2014-05-02 15:03:22 +0200 | [diff] [blame] | 367 | |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 368 | image::images/user-review-ui-change-screen-patch-sets.png[width=300, link="images/user-review-ui-change-screen-patch-sets.png"] |
Edwin Kempin | b2a8ae3 | 2014-05-02 15:03:22 +0200 | [diff] [blame] | 369 | |
Edwin Kempin | 0cb1ccb | 2014-05-05 13:22:03 +0200 | [diff] [blame] | 370 | [[download]] |
| 371 | === Download |
| 372 | |
| 373 | The `Download` drop-down panel in the change header offers commands and |
| 374 | links for downloading the currently viewed patch set. |
| 375 | |
Han-Wen Nienhuys | 3caad12 | 2021-05-11 17:14:21 +0200 | [diff] [blame] | 376 | image::images/user-review-ui-change-screen-download-commands.png[width=800, link="images/user-review-ui-change-screen-download-commands.png"] |
Edwin Kempin | 0cb1ccb | 2014-05-05 13:22:03 +0200 | [diff] [blame] | 377 | |
| 378 | The available download commands depend on the installed Gerrit plugins. |
| 379 | The most popular plugin for download commands, the |
David Pursehouse | 122f078 | 2018-09-28 13:45:23 +0900 | [diff] [blame] | 380 | link:https://gerrit-review.googlesource.com/admin/repos/plugins/download-commands[ |
Marian Harbach | 3425337 | 2019-12-10 18:01:31 +0100 | [diff] [blame] | 381 | download-commands,role=external,window=_blank] plugin, provides commands to checkout, pull and |
Edwin Kempin | 0cb1ccb | 2014-05-05 13:22:03 +0200 | [diff] [blame] | 382 | cherry-pick a patch set. |
| 383 | |
| 384 | Each command has a copy-to-clipboard icon that allows the command to be |
| 385 | copied into the clipboard. This makes it easy to paste and execute the |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 386 | command on a Git command line. Additionally each line can copied to clipboard |
| 387 | using number (1..9) of the appropriate line as a keyboard shortcut. |
Edwin Kempin | 0cb1ccb | 2014-05-05 13:22:03 +0200 | [diff] [blame] | 388 | |
| 389 | If several download schemes are configured on the server (e.g. SSH and |
| 390 | HTTP) there is a drop-down list to switch between the download schemes. |
| 391 | Gerrit automatically remembers the download scheme that was last chosen |
| 392 | and selects this download scheme the next time the download commands |
| 393 | drop-down panel is opened. |
| 394 | |
| 395 | The `Patch-File` links provide the Git patch file for the currently |
| 396 | viewed patch set for download. The patch file can be base64 encoded or |
| 397 | zipped. |
| 398 | |
| 399 | The `Archive` links allow one to download an archive with the contents |
| 400 | of the currently viewed patch set. The archive is offered in several |
| 401 | formats (e.g. tar and tbz2); which formats are available depends on the |
| 402 | configuration of the server. |
| 403 | |
Edwin Kempin | 811bd58 | 2014-05-05 13:39:24 +0200 | [diff] [blame] | 404 | [[included-in]] |
| 405 | === Included In |
| 406 | |
Han-Wen Nienhuys | ccc252a | 2021-05-11 17:27:43 +0200 | [diff] [blame] | 407 | For merged changes the `Included In` drop-down panel is available |
| 408 | through the overflow menu at the top. It shows the branches and tags |
| 409 | in which the change is included. E.g. if a change fixes a bug, this |
| 410 | shows which released versions contain the bug-fix (assuming that every |
| 411 | release is tagged). |
Edwin Kempin | 811bd58 | 2014-05-05 13:39:24 +0200 | [diff] [blame] | 412 | |
Han-Wen Nienhuys | ccc252a | 2021-05-11 17:27:43 +0200 | [diff] [blame] | 413 | image::images/user-review-ui-change-screen-included-in.png[width=800, link="images/user-review-ui-change-screen-included-in.png"] |
Edwin Kempin | 811bd58 | 2014-05-05 13:39:24 +0200 | [diff] [blame] | 414 | |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 415 | [[related-changes]] |
| 416 | === Related Changes |
| 417 | |
| 418 | If there are changes that are related to the currently viewed change |
| 419 | they are displayed in the third column of the change screen. |
| 420 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 421 | There are several lists of related changes that are displayed in separate |
| 422 | sectionsunder each other. |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 423 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 424 | The following sections may be displayed: |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 425 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 426 | - [[related-changes-section]]`Related Changes`: |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 427 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 428 | This section shows changes on which the current change depends |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 429 | (ancestors) and open changes that depend on the current change |
| 430 | (descendants). For merge commits it also shows the closed changes that |
| 431 | will be merged into the destination branch by submitting the merge |
| 432 | commit. |
| 433 | + |
| 434 | The changes are sorted in the same way as the output of 'git log'. This |
| 435 | means the relationship between the changes can be inferred from the |
| 436 | position of the changes in the list. Changes listed above the current |
| 437 | change are descendants; changes below the current change are ancestors. |
| 438 | + |
Edwin Kempin | 68cfe47 | 2014-05-12 15:10:25 +0200 | [diff] [blame] | 439 | For merged changes this tab is only shown if there are open |
| 440 | descendants. |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 441 | + |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 442 | Related changes may be annotated with dependencies |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 443 | on outdated patch sets, or commits that are not associated to changes |
| 444 | under review: |
| 445 | + |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 446 | ** [[not-current]]Not current: |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 447 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 448 | The patch set of the related change which is related to the current change is |
| 449 | outdated; it is not the current patch set of the change. |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 450 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 451 | For ancestor it means that the |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 452 | currently viewed patch set depends on a outdated patch set of the |
| 453 | ancestor change. This is because a new patch set for the ancestor |
| 454 | change was uploaded in the meantime and as result the currently viewed |
| 455 | patch set now needs to be rebased. |
| 456 | + |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 457 | If a descendant change is marked "not current" it means that an |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 458 | old patch set of the descendant change depends on the currently viewed |
| 459 | patch set. It may be that the descendant was rebased in the meantime |
| 460 | and with the new patch set this dependency was removed. |
| 461 | |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 462 | ** [[indirect-descendant]]Indirect descendant: |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 463 | + |
| 464 | The selected patch set of the change is an indirect descendant of the |
| 465 | currently viewed patch set; it has a dependency to another patch set of |
| 466 | this change. E.g. this could mean that a new patch set was uploaded for |
| 467 | this change and the descendant change now needs to be rebased. Please |
| 468 | note that following the link to an indirect descendant change may |
| 469 | result in a completely different related changes listing. |
| 470 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 471 | ** [[merged-related-change]]Merged |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 472 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 473 | The change has been merged. |
| 474 | + |
| 475 | If the relationship to submitted change falls under conditions described in |
| 476 | <<not-current, Not current>> the status is orange. Such changes can appear as |
| 477 | both ancestors and descendants of the change. |
| 478 | |
| 479 | ** [[submittable-related-change]]Submittable |
| 480 | + |
| 481 | All the submit requirements are fulfilled for the related change and it can be |
| 482 | submitted when all of its ancestors are submitted. |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 483 | |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 484 | ** [[closed-ancestor-abandoned]]Abandoned: |
Stefan Beller | 03d6790 | 2015-06-18 15:52:24 -0700 | [diff] [blame] | 485 | + |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 486 | Indicates an abandoned change. |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 487 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 488 | - [[conflicts-with]]`Merge Conflicts`: |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 489 | + |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 490 | This section shows changes that conflict with the current change. |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 491 | Non-mergeable changes are filtered out; only conflicting changes that |
| 492 | are mergeable are shown. |
| 493 | + |
| 494 | If this change is merged, its conflicting changes will have merge |
| 495 | conflicts and must be rebased. The rebase of the other changes with the |
| 496 | conflict resolution must then be done manually. |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 497 | |
Stefan Beller | 09feaac | 2015-06-29 16:20:10 -0700 | [diff] [blame] | 498 | - [[submitted-together]]`Submitted Together`: |
| 499 | + |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 500 | This section shows changes that will be submitted together with the |
Stefan Beller | 09feaac | 2015-06-29 16:20:10 -0700 | [diff] [blame] | 501 | currently viewed change, when clicking the submit button. It includes |
| 502 | ancestors of the current patch set. |
| 503 | + |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 504 | If `change.submitWholeTopic` is enabled this section also includes changes with |
| 505 | the same topic. The list recursively includes all changes that can be reached by |
| 506 | ancestor and topic relationships. Only open changes are included in the result. |
Stefan Beller | 09feaac | 2015-06-29 16:20:10 -0700 | [diff] [blame] | 507 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 508 | - [[cherry-picks]]`Cherry-Picks`: |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 509 | + |
Han-Wen Nienhuys | b7cb057 | 2021-05-11 19:06:12 +0200 | [diff] [blame] | 510 | This section shows changes with the same link:user-changeid.html[ |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 511 | Change-Id] for the current project. |
| 512 | + |
| 513 | Abandoned changes are filtered out. |
| 514 | + |
| 515 | For each change in this list the destination branch is shown as a |
| 516 | prefix in front of the change subject. |
| 517 | + |
Edwin Kempin | 8ab5b53 | 2014-05-05 17:10:31 +0200 | [diff] [blame] | 518 | |
| 519 | If there are no related changes for a tab, the tab is not displayed. |
| 520 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 521 | - [[same-topic]]`Same Topic`: |
| 522 | + |
| 523 | This section shows changes which are part of the same topic. If |
| 524 | `change.submitWholeTopic` is enabled, then this section is omitted and changes |
| 525 | are included as part of <<submitted-together, `Submitted Together`>> |
| 526 | |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 527 | [[reply]] |
| 528 | === Reply |
| 529 | |
| 530 | The `Reply...` button in the change header allows to reply to the |
| 531 | currently viewed patch set; one can add a summary comment, publish |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 532 | inline draft comments, vote on the labels and adjust attention set. |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 533 | |
Han-Wen Nienhuys | eda2526 | 2021-06-28 18:05:42 +0200 | [diff] [blame] | 534 | image::images/user-review-ui-change-screen-reply.png[width=800, link="images/user-review-ui-change-screen-reply.png"] |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 535 | |
| 536 | Clicking on the `Reply...` button opens a popup panel. |
| 537 | |
Sebastian Schuberth | 027c435 | 2016-02-02 09:24:29 +0100 | [diff] [blame] | 538 | [[summary-comment]] |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 539 | A text box allows to type a summary comment for the currently viewed |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 540 | patch set. Markdown syntax is supported same as in other |
| 541 | <<comments-markdown, Comments>>. |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 542 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 543 | [[vote]] |
Han-Wen Nienhuys | fe8a19c | 2021-06-28 18:11:10 +0200 | [diff] [blame] | 544 | If the current patch set is viewed, buttons are displayed for |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 545 | each label on which the user is allowed to vote. Voting on non-current |
| 546 | patch sets is not possible. |
| 547 | |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 548 | The inline draft comments that will be published are displayed in a |
| 549 | separate section so that they can be reviewed before publishing. There |
| 550 | are links to navigate to the inline comments which can be used if a |
| 551 | comment needs to be edited. |
| 552 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 553 | The `SEND` button publishes the comments and the votes. |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 554 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 555 | [[quick-approve]] |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 556 | If a user can approve a label that is still required, a quick approve |
| 557 | button appears in the change header that allows to add this missing |
| 558 | approval by a single click. The quick approve button only appears if |
| 559 | there is a single label that is still required and can be approved by |
| 560 | the user. |
| 561 | |
| 562 | E.g. if a change requires approvals on the 'Code-Review' and the |
| 563 | 'Verified' labels, and there is already a '+1 Verified' vote, then |
| 564 | if the user is allowed to vote the max score on 'Code-Review', a |
| 565 | `Code-Review+2` quick approve button appears that approves the |
| 566 | 'Code-Review' label if clicked. |
| 567 | |
| 568 | Using the quick approve button also publishes all inline draft |
| 569 | comments; a summary comment is only added if the reply popup panel is |
| 570 | open when the quick approve button is clicked. |
| 571 | |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 572 | image::images/user-review-ui-change-screen-quick-approve.png[width=800, link="images/user-review-ui-change-screen-quick-approve.png"] |
Edwin Kempin | c6cab61 | 2014-05-06 11:09:05 +0200 | [diff] [blame] | 573 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 574 | [[change-log]] |
| 575 | === Change Log |
Edwin Kempin | 7a68281 | 2014-05-06 14:45:01 +0200 | [diff] [blame] | 576 | |
| 577 | The history of the change can be seen in the lower part of the screen. |
| 578 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 579 | The log contains messages for all kinds of change updates, e.g. a |
Edwin Kempin | 7a68281 | 2014-05-06 14:45:01 +0200 | [diff] [blame] | 580 | message is added when a new patch set is uploaded or when a review was |
| 581 | done. |
| 582 | |
Edwin Kempin | 772418f | 2014-05-06 15:45:35 +0200 | [diff] [blame] | 583 | [[update-notification]] |
| 584 | === Update Notification |
| 585 | |
| 586 | The change screen automatically polls for updates to the currently |
| 587 | viewed change. If there is an update the user is informed by a popup |
| 588 | panel in the bottom right corner. |
| 589 | |
| 590 | The polling frequency depends on the server configuration; by default |
| 591 | it is 30 seconds. Polling may also be completely disabled by the |
| 592 | administrator. |
| 593 | |
Han-Wen Nienhuys | de28ca6 | 2021-07-12 14:25:50 +0200 | [diff] [blame] | 594 | image::images/user-review-ui-change-screen-change-update.png[width=400, link="images/user-review-ui-change-screen-change-update.png"] |
Edwin Kempin | 772418f | 2014-05-06 15:45:35 +0200 | [diff] [blame] | 595 | |
Edwin Kempin | 41d9d30 | 2014-05-06 16:02:06 +0200 | [diff] [blame] | 596 | [[plugin-extensions]] |
| 597 | === Plugin Extensions |
| 598 | |
Han-Wen Nienhuys | 8c8e57d | 2021-07-13 15:01:27 +0200 | [diff] [blame] | 599 | Gerrit plugins may extend the change screen. Java plugins in the |
| 600 | backend can add additional actions to the triple-dot menu block. |
| 601 | Frontend plugins can change the UI controls in arbitrary ways. |
Edwin Kempin | 41d9d30 | 2014-05-06 16:02:06 +0200 | [diff] [blame] | 602 | |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 603 | image::images/user-review-ui-change-screen-plugin-extensions.png[width=300, link="images/user-review-ui-change-screen-plugin-extensions.png"] |
Edwin Kempin | 41d9d30 | 2014-05-06 16:02:06 +0200 | [diff] [blame] | 604 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 605 | [[diff-view]] |
Edwin Kempin | d38ddf5 | 2014-05-07 14:31:42 +0200 | [diff] [blame] | 606 | == Side-by-Side Diff Screen |
| 607 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 608 | The side-by-side diff screen shows a single patch (or difference between two |
| 609 | patchsets); the old file version is displayed on the left side of the screen; |
| 610 | the new file version is displayed on the right side of the screen. |
Edwin Kempin | d38ddf5 | 2014-05-07 14:31:42 +0200 | [diff] [blame] | 611 | |
| 612 | This screen allows to review a patch and to comment on it. |
| 613 | |
Han-Wen Nienhuys | 97888f6 | 2021-07-12 14:38:50 +0200 | [diff] [blame] | 614 | image::images/user-review-ui-side-by-side-diff-screen.png[width=800, link="images/user-review-ui-side-by-side-diff-screen.png"] |
Edwin Kempin | d38ddf5 | 2014-05-07 14:31:42 +0200 | [diff] [blame] | 615 | |
Edwin Kempin | d38ddf5 | 2014-05-07 14:31:42 +0200 | [diff] [blame] | 616 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 617 | [[side-by-side-mark-reviewed]] |
Han-Wen Nienhuys | bea082d | 2021-05-10 18:15:42 +0200 | [diff] [blame] | 618 | The checkbox in front of the file name allows the |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 619 | patch to be marked as reviewed. The link:#mark-reviewed[Mark Reviewed] |
| 620 | diff preference allows to control whether the files should be |
| 621 | automatically marked as reviewed when they are viewed. |
Edwin Kempin | d38ddf5 | 2014-05-07 14:31:42 +0200 | [diff] [blame] | 622 | |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 623 | image::images/user-review-ui-side-by-side-diff-screen-reviewed.png[width=800, link="images/user-review-ui-side-by-side-diff-screen-reviewed.png"] |
Edwin Kempin | 1266ac8f | 2014-05-09 09:39:31 +0200 | [diff] [blame] | 624 | |
Edwin Kempin | d8057e5 | 2014-05-08 13:52:32 +0200 | [diff] [blame] | 625 | [[patch-set-selection]] |
| 626 | In the header, on each side, the list of patch sets is shown. Clicking |
| 627 | on a patch set changes the selection for the patch set comparison and |
| 628 | the screen is refreshed to show the diff between the selected patch |
| 629 | sets. The currently selected patch set is highlighted by a light blue |
| 630 | background. |
| 631 | |
| 632 | On the left side `Base` can be selected to compare a patch set against |
| 633 | its base. For merge commits `Auto Merge` is available instead which |
| 634 | allows to compare the patch against the result of the auto merge. The |
| 635 | auto merge version may contain Git conflict markers and is useful for |
| 636 | reviewing how conflicts are resolved by a patch. |
| 637 | |
| 638 | Reviewers that are reviewing a patch for the first time look at its |
| 639 | diff against its base; reviewers that have reviewed an old patch |
| 640 | version before, may see what has changed since that version by |
| 641 | comparing the old patch against the current patch. |
| 642 | |
Han-Wen Nienhuys | e57fd0c | 2021-06-28 18:29:49 +0200 | [diff] [blame] | 643 | image::images/user-review-ui-side-by-side-diff-screen-patch-sets.png[width=400, link="images/user-review-ui-side-by-side-diff-screen-patch-sets.png"] |
Edwin Kempin | d8057e5 | 2014-05-08 13:52:32 +0200 | [diff] [blame] | 644 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 645 | [[download-file]] |
Edwin Kempin | 6db9bcd | 2014-06-06 09:32:05 +0200 | [diff] [blame] | 646 | The download icon next to the patch set list allows to download the |
| 647 | patch. Unless the mime type of the file is configured as safe, the |
| 648 | download file is a zip archive that contains the patch file. |
| 649 | |
Edwin Kempin | 01280cc | 2014-05-09 09:53:30 +0200 | [diff] [blame] | 650 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 651 | [[side-by-side-rename]] |
Edwin Kempin | afb4fcc | 2014-06-06 09:52:52 +0200 | [diff] [blame] | 652 | If a file was renamed, the old and new file paths are shown in the |
| 653 | header together with a similarity index that shows how much of the file |
| 654 | content is unmodified. |
| 655 | |
Han-Wen Nienhuys | 5f8a730 | 2021-06-28 19:16:31 +0200 | [diff] [blame] | 656 | image::images/user-review-ui-side-by-side-diff-screen-rename.png[width=400, link="images/user-review-ui-side-by-side-diff-screen-rename.png"] |
Edwin Kempin | d8057e5 | 2014-05-08 13:52:32 +0200 | [diff] [blame] | 657 | |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 658 | [[inline-comments]] |
| 659 | === Inline Comments |
| 660 | |
| 661 | Inline comments are displayed directly in the patch file under the code |
| 662 | that is commented. Inline comments can be placed on lines or on code |
| 663 | blocks. |
| 664 | |
| 665 | If an inline comment relates to a code block, this code block is |
| 666 | highlighted by a yellow background. |
| 667 | |
| 668 | Code blocks with comments may overlap. This means it is possible to |
| 669 | attach several comments to the same code. |
| 670 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 671 | [[comments-markdown]] |
| 672 | The comments support markdown. It follows the CommonMark spec, except inline |
| 673 | images and direct HTML are not rendered and kept as plaintext. |
| 674 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 675 | [[line-links]] |
Han-Wen Nienhuys | bfdcb87 | 2021-06-28 19:06:59 +0200 | [diff] [blame] | 676 | The lines of the patch file are linkable: simply append |
| 677 | '#<linenumber>' to the URL, or click on the line-number. This not only |
| 678 | opens a draft comment box, but also sets the URL fragment. |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 679 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 680 | [[reply-inline-comment]] |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 681 | Clicking on the `Reply` button opens an editor to type the reply. |
| 682 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 683 | Previous comment can be quoted using "Quote" button. A new draft would be open |
| 684 | on the same comment thread with the text of the previoused comment quoted using |
| 685 | markdown syntax. |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 686 | |
Han-Wen Nienhuys | bfdcb87 | 2021-06-28 19:06:59 +0200 | [diff] [blame] | 687 | image::images/user-review-ui-side-by-side-diff-screen-inline-comments.png[width=800, link="images/user-review-ui-side-by-side-diff-screen-inline-comments.png"] |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 688 | |
Han-Wen Nienhuys | bfdcb87 | 2021-06-28 19:06:59 +0200 | [diff] [blame] | 689 | Comments are first saved as drafts, and you can revisit the drafts as |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 690 | you read through code review. Finally, they will be published by |
Han-Wen Nienhuys | bfdcb87 | 2021-06-28 19:06:59 +0200 | [diff] [blame] | 691 | clicking the "Reply". |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 692 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 693 | [[done]] |
Han-Wen Nienhuys | bfdcb87 | 2021-06-28 19:06:59 +0200 | [diff] [blame] | 694 | Comments can be unresolved (something should be changed) or resolved |
| 695 | (informational). If you have addressed an unresolved comment in a next |
| 696 | patchset, you can quickly resolve the comment by clicking "Done" (if it was |
| 697 | resolved in a next patchset) or "Ack" (if you acknowledge the comment, |
| 698 | but don't want to make changes). |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 699 | |
Han-Wen Nienhuys | bfdcb87 | 2021-06-28 19:06:59 +0200 | [diff] [blame] | 700 | image::images/user-review-ui-side-by-side-diff-screen-replied-done.png[width=400, link="images/user-review-ui-side-by-side-diff-screen-replied-done.png"] |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 701 | |
| 702 | [[add-inline-comment]] |
| 703 | To add a new inline comment there are several possibilities: |
| 704 | |
| 705 | - select a code block and press 'c' |
Edwin Kempin | 7feeb95 | 2014-05-09 11:16:56 +0200 | [diff] [blame] | 706 | - go to a line, by clicking on it or by link:#key-navigation[key |
| 707 | navigation], and press 'c' |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 708 | - click on a line number |
| 709 | |
| 710 | There are many ways to select code for commenting on it. The most |
| 711 | frequently used methods are: |
| 712 | |
| 713 | - by mouse: |
| 714 | ** click and drag with the mouse to select a block |
| 715 | ** double-click on a word to select it |
| 716 | ** double-click and drag with the mouse to select a code block word-wise |
| 717 | ** triple-click on a line to select it |
| 718 | ** triple-click and drag with the mouse to select a code block line-wise |
| 719 | |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 720 | For typing the new comment, a new comment box is shown under the code |
| 721 | that is commented. |
| 722 | |
Han-Wen Nienhuys | ca66b5f | 2021-07-12 14:42:46 +0200 | [diff] [blame] | 723 | Clicking on the `Save` button saves the new comment as a draft. To |
| 724 | make it visible to other users it must be published from the change |
| 725 | screen by link:#reply[replying] to the change. |
Edwin Kempin | 004c347 | 2014-05-07 16:56:59 +0200 | [diff] [blame] | 726 | |
Kamil Musin | 408a80e | 2022-11-22 16:40:12 +0100 | [diff] [blame] | 727 | [[suggest-fix]] |
| 728 | === Suggest fix (WIP) |
| 729 | Comments can contain suggested fixes. |
| 730 | |
| 731 | Clicking "Suggest Fix" will insert a special code-block in the text of the |
| 732 | comment. The contents of this code block will replace the lines the comment is |
| 733 | attached to (what gets highlighted when hovering over comment). |
| 734 | |
| 735 | image::images/user-review-ui-suggest-fix.png[width=400, link="images/user-review-ui-suggest-fix.png"] |
| 736 | |
| 737 | The author of the change can then preview and apply the change. This will created |
| 738 | a new patchset with changes applied. |
| 739 | |
| 740 | image::images/user-review-ui-apply-fix.png[width=800, link="images/user-review-ui-apply-fix.png"] |
| 741 | |
Edwin Kempin | 9df27ac | 2014-05-08 13:06:18 +0200 | [diff] [blame] | 742 | [[file-level-comments]] |
| 743 | === File Level Comments |
| 744 | |
Han-Wen Nienhuys | 7bff1d2 | 2021-05-10 19:02:12 +0200 | [diff] [blame] | 745 | File level comments are added by clicking the 'File' header at the top |
| 746 | of the file. |
Edwin Kempin | 9df27ac | 2014-05-08 13:06:18 +0200 | [diff] [blame] | 747 | |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 748 | image::images/user-review-ui-side-by-side-diff-screen-file-level-comment.png[width=400, link="images/user-review-ui-side-by-side-diff-screen-file-level-comment.png"] |
Edwin Kempin | 7feeb95 | 2014-05-09 11:16:56 +0200 | [diff] [blame] | 749 | |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 750 | [[diff-preferences]] |
| 751 | === Diff Preferences |
| 752 | |
| 753 | There are several options to control how patch diffs should be |
| 754 | rendered. Users can configure their preferences in the diff |
| 755 | preferences. The diff preferences can be accessed by clicking on the |
| 756 | settings icon in the screen header. |
| 757 | |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 758 | image::images/user-review-ui-side-by-side-diff-screen-preferences.png[width=800, link="images/user-review-ui-side-by-side-diff-screen-preferences.png"] |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 759 | |
| 760 | The following diff preferences can be configured: |
| 761 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 762 | - [[ignore-whitespace]]`Ignore Whitespace`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 763 | + |
| 764 | Controls whether differences in whitespace should be ignored or not. |
| 765 | + |
| 766 | ** `None`: |
| 767 | + |
| 768 | All differences in whitespace are highlighted. |
| 769 | + |
Han-Wen Nienhuys | 0120fbd | 2021-05-10 18:44:15 +0200 | [diff] [blame] | 770 | ** `Trailing`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 771 | + |
| 772 | Whitespace differences at the end of lines are ignored. |
| 773 | + |
Han-Wen Nienhuys | 0120fbd | 2021-05-10 18:44:15 +0200 | [diff] [blame] | 774 | ** `Leading, Trailing`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 775 | + |
| 776 | Whitespace differences at the beginning and end of lines are ignored. |
| 777 | + |
| 778 | ** `All`: |
| 779 | + |
| 780 | All differences in whitespace are ignored. |
| 781 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 782 | - [[tab-width]]`Tab Width`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 783 | + |
| 784 | Controls how many spaces should be displayed for a tab. |
| 785 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 786 | - [[columns]]`Columns`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 787 | + |
Han-Wen Nienhuys | 0120fbd | 2021-05-10 18:44:15 +0200 | [diff] [blame] | 788 | Sets the preferred line length. At this position, lines are wrapped. |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 789 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 790 | - [[lines-of-context]]`Lines Of Context`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 791 | + |
| 792 | The number of context lines that should be displayed before and after |
| 793 | any diff. If the `entire file` checkbox is selected, the full file is |
| 794 | rendered. |
| 795 | + |
| 796 | Skipped common lines can be expanded by clicking on the placeholder for |
| 797 | the skipped lines. |
| 798 | + |
| 799 | Clicking on "... skipped <n> common lines ..." expands the complete |
| 800 | block of skipped lines. |
| 801 | + |
| 802 | If many lines are skipped there are additional links to expand the |
| 803 | context by ten lines before and after the skipped block. |
| 804 | + |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 805 | image::images/user-review-ui-side-by-side-diff-screen-expand-skipped-lines.png[width=800, link="images/user-review-ui-side-by-side-diff-screen-expand-skipped-lines.png"] |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 806 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 807 | - [[syntax-highlighting]]`Syntax Highlighting`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 808 | + |
| 809 | Controls whether syntax highlighting should be enabled. |
| 810 | + |
| 811 | The language for the syntax highlighting is automatically detected from |
Han-Wen Nienhuys | abbee90 | 2021-05-10 18:55:23 +0200 | [diff] [blame] | 812 | the file extension. |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 813 | |
Han-Wen Nienhuys | 8daa77e | 2021-05-10 18:57:29 +0200 | [diff] [blame] | 814 | - [[whitespace-errors]]`Show trailing whitespace`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 815 | + |
Han-Wen Nienhuys | 8daa77e | 2021-05-10 18:57:29 +0200 | [diff] [blame] | 816 | Controls whether trailing whitespace is highlighted. |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 817 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 818 | - [[show-tabs]]`Show Tabs`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 819 | + |
| 820 | Controls whether tabs are highlighted. |
| 821 | |
Edwin Kempin | f9b4bc9 | 2014-11-05 13:14:57 +0100 | [diff] [blame] | 822 | - [[mark-reviewed]]`Mark Reviewed`: |
Edwin Kempin | fe8ca4c | 2014-05-08 16:49:15 +0200 | [diff] [blame] | 823 | + |
| 824 | Controls whether the files of the patch set should be automatically |
| 825 | marked as reviewed when they are viewed. |
| 826 | |
Edwin Kempin | 7a85f41 | 2014-05-09 12:51:51 +0200 | [diff] [blame] | 827 | [[keyboard-shortcuts]] |
| 828 | == Keyboard Shortcuts |
| 829 | |
| 830 | Navigation within the review UI can be completely done by keys, and |
| 831 | most actions can be controlled by keyboard shortcuts. Typing `?` opens |
Han-Wen Nienhuys | 3d71b9d | 2021-05-10 16:39:21 +0200 | [diff] [blame] | 832 | a popup that shows a list of available keyboard shortcuts. |
Edwin Kempin | 7a85f41 | 2014-05-09 12:51:51 +0200 | [diff] [blame] | 833 | |
Edwin Kempin | 7a85f41 | 2014-05-09 12:51:51 +0200 | [diff] [blame] | 834 | |
Han-Wen Nienhuys | ab7d5c4 | 2021-07-13 15:02:34 +0200 | [diff] [blame] | 835 | image::images/user-review-ui-change-screen-keyboard-shortcuts.png[width=800, link="images/user-review-ui-change-screen-keyboard-shortcuts.png"] |
Han-Wen Nienhuys | 3d71b9d | 2021-05-10 16:39:21 +0200 | [diff] [blame] | 836 | |
| 837 | |
Edwin Kempin | 7a85f41 | 2014-05-09 12:51:51 +0200 | [diff] [blame] | 838 | In addition, Vim-like commands can be used to link:#key-navigation[ |
| 839 | navigate] and link:#search[search] within a patch file. |
| 840 | |
Edwin Kempin | 4fd84c9 | 2014-04-30 13:23:15 +0200 | [diff] [blame] | 841 | GERRIT |
| 842 | ------ |
| 843 | Part of link:index.html[Gerrit Code Review] |
| 844 | |
| 845 | SEARCHBOX |
| 846 | --------- |