blob: 8b6932e87ff87fd5b356d7e0be02068affe613fa [file] [log] [blame]
Edwin Kempin4fd84c92014-04-30 13:23:15 +02001= Review UI
2
3Reviewing changes is an important task and the Gerrit Web UI provides
4many functionalities to make the review process comfortable and
5efficient. This is a guide through the review UI that explains the
6different functions and UI elements.
7
8[[change-screen]]
9== Change Screen
10
11The change screen shows the details of a single change and provides
12various actions on it.
13
14image::images/user-review-ui-change-screen.png[width=800, link="images/user-review-ui-change-screen.png"]
15
16[[commit-message]]
17=== Commit Message Block
18
19The focus of the change screen is on the commit message since this is
20the most important information about a change. The numeric change ID
21and the change status are displayed right above the commit message.
22
23image::images/user-review-ui-change-screen-commit-message.png[width=800, link="images/user-review-ui-change-screen-commit-message.png"]
24
25The commit message can be edited directly in the Web UI by clicking on
26the `Edit Message` button in the change header. This opens a drop-down
27editor box in which the commit message can be edited. Saving
28modifications of the commit message automatically creates a new patch
29set for the change. The commit message may only be edited on the
30current patch set.
31
32image::images/user-review-ui-change-screen-edit-commit-message.png[width=800, link="images/user-review-ui-change-screen-edit-commit-message.png"]
33
34The numeric change ID is a link to the change and clicking on it
35refreshes the change screen. By copying the link location you can get
36the permalink of the change.
37
38image::images/user-review-ui-change-screen-permalink.png[width=800, link="images/user-review-ui-change-screen-permalink.png"]
39
40The change status shows the state of the change:
41
42- `Needs <label>`:
43+
44The change is in review and an approval on the shown label is still
45required to make the change submittable.
46
47- `Not <label>`:
48+
49The change is in review and a veto vote on the shown label is
50preventing the submit.
51
Edwin Kempinb2a8ae32014-05-02 15:03:22 +020052[[not-current]]
Edwin Kempin4fd84c92014-04-30 13:23:15 +020053- `Not Current`:
54+
55The currently viewed patch set is outdated.
56+
57Please note that some operations, like voting, are not available on
58outdated patch sets, but only on the current patch set.
59
60- `Ready to Submit`:
61+
62The change has all necessary approvals and may be submitted.
63
64- `Submitted, Merge Pending`:
65+
66The change was submitted and was added to the merge queue.
67+
68The change stays in the merge queue if it depends on a change that is
69still in review. In this case it will get automatically merged when all
70predecessor changes have been merged.
71+
72This status can also mean that the change depends on an abandoned
73change or on an outdated patch set of another change. In this case you
74may want to rebase the change.
75
76- `Merged`:
77+
78The change was successfully merged into the destination branch.
79
80- `Abandoned`:
81+
82The change was abandoned.
83
84- `Draft`:
85+
86The change is a draft that is only visible to the change owner, the
87reviewers that were explicitly added to the change, and users who have
88the link:access-control.html#category_view_drafts[View Drafts] global
89capability assigned.
90
91[[commit-info]]
92=== Commit Info Block
93
94The commit info block shows information about the commit of the
95currently viewed patch set.
96
97It displays the author and the committer as links to a list of this
98person's changes that have the same status as the currently viewed
99change.
100
101The commit ID and the link:user-changeid.html[Change-Id] are both
102displayed with a copy-to-clipboard icon that allows the ID to be copied
103into the clipboard.
104
105If a Git web browser, such as GitWeb or Gitiles, is configured, there
106is also a link to the commit in the Git web browser.
107
108image::images/user-review-ui-change-screen-commit-info.png[width=800, link="images/user-review-ui-change-screen-commit-info.png"]
109
Edwin Kempinf1a84f92014-04-30 15:37:48 +0200110[[change-info]]
111=== Change Info Block
112
113The change info block contains detailed information about the change
114and offers actions on the change.
115
116image::images/user-review-ui-change-screen-change-info.png[width=800, link="images/user-review-ui-change-screen-change-info.png"]
117
118- Change Owner:
119+
120The owner of the change is displayed as a link to a list of the owner's
121changes that have the same status as the currently viewed change.
122+
123image::images/user-review-ui-change-screen-change-info-owner.png[width=800, link="images/user-review-ui-change-screen-change-info-owner.png"]
124
125- Reviewers:
126+
127The reviewers of the change are displayed as chip tokens.
128+
129For each reviewer there is a tooltip that shows on which labels the
130reviewer is allowed to vote.
131+
132New reviewers can be added by clicking on the `Add...` button. Typing
133into the pop-up text field activates auto completion of user and group
134names.
135+
136Reviewers can be removed from the change by clicking on the `x` icon
137in the reviewer's chip token. Removing a reviewer also removes the
138current votes of the reviewer. The removal of votes is recorded as a
139message on the change.
140+
141Removing reviewers is protected by permissions:
142
143** Users can always remove themselves.
144** The change owner may remove any zero or positive score.
145** Users with the link:access-control.html#category_remove_reviewer[
146 Remove Reviewer] access right, the branch owner, the project owner
147 and Gerrit administrators may remove anyone.
148
149+
150image::images/user-review-ui-change-screen-change-info-reviewers.png[width=800, link="images/user-review-ui-change-screen-change-info-reviewers.png"]
151
152- Project / Branch / Topic:
153+
154The name of the project for which the change was done is displayed as a
155link to the link:user-dashboards.html#project-default-dashboard[default
156dashboard] of the project. If no default dashboard is defined, the link
157opens a list of open changes on the project.
158+
159Clicking on the settings icon on the right side navigates to the
160project administration screen.
161+
162The name of the destination branch is displayed as a link to a list
163with all changes on this branch that have the same status as the
164currently viewed change.
165+
166If a topic was assigned to the change it is displayed below the branch.
167By clicking on the edit icon the topic can be set. This requires the
168link:access-control.html#category_edit_topic_name[Edit Topic Name]
169access right. To be able to set a topic on a closed change, the
170`Edit Topic Name` must be assigned with the `force` flag.
171+
172image::images/user-review-ui-change-screen-change-info-project-branch-topic.png[width=800, link="images/user-review-ui-change-screen-change-info-project-branch-topic.png"]
173
174- Submit Strategy:
175+
176The link:project-setup.html#submit_type[submit strategy] that will be
177used to submit the change. The submit strategy is only displayed for
178open changes.
179+
180image::images/user-review-ui-change-screen-change-info-submit-strategy.png[width=800, link="images/user-review-ui-change-screen-change-info-submit-strategy.png"]
181+
182If a change cannot be merged due to path conflicts this is highlighted
183by a bold red `Cannot Merge` label.
184+
185image::images/user-review-ui-change-screen-change-info-cannot-merge.png[width=800, link="images/user-review-ui-change-screen-change-info-cannot-merge.png"]
186
187- Time of Last Update:
188+
189image::images/user-review-ui-change-screen-change-info-last-update.png[width=800, link="images/user-review-ui-change-screen-change-info-last-update.png"]
190
191- Actions:
192+
193Depending on the change state and the permissions of the user, different
194actions are available on the change:
195
196** `Merge Change`:
197+
198Submits the change and adds it to the merge queue. If possible the
199change is merged into the destination branch.
200+
201The `Merge Change` button is available if the change is submittable and
202the link:access-control.html#category_submit[Submit] access right is
203assigned.
204+
205It is also possible to submit changes that have merge conflicts. This
206allows to do the conflict resolution for a change series in a single
207merge commit and submit the changes in reverse order.
208
209** `Abandon`:
210+
211Abandons the change.
212+
213The `Abandon` button is only available if the change is open and the
214link:access-control.html#category_abandon[Abandon] access right is
215assigned.
216+
217When a change is abandoned, a panel appears that allows one to type a
218comment message to explain why the change is being abandoned.
219
220** `Restore`:
221+
222Restores the change.
223+
224The `Restore` button is only available if the change is abandoned and
225the link:access-control.html#category_abandon[Abandon] and the
226link:access-control.html#category_push[Push] access right is
227assigned.
228+
229When a change is restored, a panel appears that allows one to type a
230comment message to explain why the change is being restored.
231
232** `Rebase`:
233+
234Rebases the change. The rebase is always done with content merge
235enabled. If the rebase is successful a new patch set with the rebased
236commit is created. If the rebase fails, there are conflicts that have
237to be resolved manually.
238+
239If the change does not depend on another open change, it is rebased
240onto the tip of the destination branch.
241+
242If the change depends on another open change, it is rebased onto the
243current patch set of that other change.
244+
245The `Rebase` button is only available if the change can be rebased and
246the link:access-control.html#category_rebase[Rebase] access right is
247assigned. Rebasing merge commits is not supported.
248
249** `Cherry-Pick`:
250+
251Allows to cherry-pick the change to another branch. The destination
252branch can be selected from a dialog. Cherry-picking a change creates a
253new open change on the selected destination branch.
254+
255It is also possible to cherry-pick a change to the same branch. This is
256effectively the same as rebasing it to the current tip of the
257destination branch. This can be used to remove dependencies on other
258open changes.
259+
260Users can only cherry-pick changes to branches for which they are
261allowed to upload changes for review.
262
263** `Publish`:
264+
265Publishes the currently viewed draft patch set. If this is the first
266patch set of a change that is published, the change will be published
267as well.
268+
269The `Publish` button is only available if a draft patch set is viewed
270and the user is the change owner or has the
271link:access-control.html#category_publish_drafts[Publish Drafts] access
272right assigned.
273
274** `Delete Change` / `Delete Revision`:
275+
276Deletes the draft change / the currently viewed draft patch set.
277+
278The `Delete Change` / `Delete Revision` buttons are only available if a
279draft patch set is viewed and the user is the change owner or has the
280link:access-control.html#category_delete_drafts[Delete Drafts] access
281right assigned.
282
283** Further actions may be available if plugins are installed.
284
285+
286image::images/user-review-ui-change-screen-change-info-actions.png[width=800, link="images/user-review-ui-change-screen-change-info-actions.png"]
287
288- Labels & Votes:
289+
290Approving votes are colored green; veto votes are colored red.
291+
292image::images/user-review-ui-change-screen-change-info-labels.png[width=800, link="images/user-review-ui-change-screen-change-info-labels.png"]
293
Edwin Kempinab777f12014-05-02 11:47:57 +0200294[[files]]
295=== File List
296
297The file list shows the files that are modified in the currently viewed
298patch set.
299
300image::images/user-review-ui-change-screen-file-list.png[width=800, link="images/user-review-ui-change-screen-file-list.png"]
301
302The checkboxes in front of the file names allow files to be marked as reviewed.
303
304image::images/user-review-ui-change-screen-file-list-mark-as-reviewed.png[width=800, link="images/user-review-ui-change-screen-file-list-mark-as-reviewed.png"]
305
306The type of a file modification is indicated by the character in front
307of the file name:
308
309- 'no character' (Modified):
310+
311The file existed before this change and is modified.
312
313- `A` (Added):
314+
315The file is newly added.
316
317- `D` (Deleted):
318+
319The file is deleted.
320
321- `R` (Renamed):
322+
323The file is renamed.
324
325- `C` (Copied):
326+
327The file is new and is copied from an existing file.
328
329image::images/user-review-ui-change-screen-file-list-modification-type.png[width=800, link="images/user-review-ui-change-screen-file-list-modification-type.png"]
330
331If a file is renamed or copied, the name of the original file is
332displayed in gray below the file name.
333
334image::images/user-review-ui-change-screen-file-list-rename.png[width=800, link="images/user-review-ui-change-screen-file-list-rename.png"]
335
336Repeating path segments are grayed out.
337
338image::images/user-review-ui-change-screen-file-list-repeating-paths.png[width=800, link="images/user-review-ui-change-screen-file-list-repeating-paths.png"]
339
340Inline comments on a file are shown in the `Comments` column.
341
342Draft comments, i.e. comments that have been written by the current
343user but not yet published, are highlighted in red.
344
345New comments from other users, that were published after the current
346user last reviewed this change, are highlighted in bold.
347
348image::images/user-review-ui-change-screen-file-list-comments.png[width=800, link="images/user-review-ui-change-screen-file-list-comments.png"]
349
350The size of the modifications in the files can be seen in the `Size`
351column. The footer row shows the total size of the change.
352
353For files, the `Size` column shows the sum of inserted and deleted
354lines as one number. For the total size, inserted and deleted lines are
355shown separately. In addition, the number of insertions and deletions
356is shown as a bar. The size of the bar indicates the amount of changed
357lines, and its coloring in green and red shows the proportion of
358insertions to deletions.
359
360The size information is useful to easily spot the files that contain
361the most modifications; these files are likely to be the most relevant
362files for this change. The total change size gives an estimate of how
363long a review of this change may take.
364
365image::images/user-review-ui-change-screen-file-list-size.png[width=800, link="images/user-review-ui-change-screen-file-list-size.png"]
366
367In the header of the file list, the `Diff Against` selection can be
368changed. This selection allows one to choose if the currently viewed
369patch set should be compared against its base or against another patch
370set of this change. The file list is updated accordingly.
371
372The file list header also provides an `Open All` button that opens the
373diff views for all files in the file list.
374
375image::images/user-review-ui-change-screen-file-list-header.png[width=800, link="images/user-review-ui-change-screen-file-list-header.png"]
376
Edwin Kempinb2a8ae32014-05-02 15:03:22 +0200377[[patch-sets]]
378=== Patch Sets
379
380The change screen only presents one patch set at a time. Which patch
381set is currently viewed can be seen from the `Patch Sets` drop-down
382panel in the change header. It shows the number of the currently viewed
383patch set and the total number of patch sets, in the form: "current
384patch set/number of patch sets".
385
386If a non-current patch set is viewed this is indicated by the
387link:#not-current[Not Current] change state. Please note that some
388operations are only available on the current patch set.
389
390image::images/user-review-ui-change-screen-patch-sets.png[width=800, link="images/user-review-ui-change-screen-patch-sets.png"]
391
392The patch set drop-down list shows the list of patch sets and allows to
393switch between them. The patch sets are sorted in descending order so
394that the current patch set is always on top.
395
396Patch sets that have unpublished draft comments are marked by a comment
397icon.
398
399Draft patch sets are marked with `DRAFT`.
400
401image::images/user-review-ui-change-screen-patch-set-list.png[width=800, link="images/user-review-ui-change-screen-patch-set-list.png"]
402
Edwin Kempin0cb1ccb2014-05-05 13:22:03 +0200403[[download]]
404=== Download
405
406The `Download` drop-down panel in the change header offers commands and
407links for downloading the currently viewed patch set.
408
409image::images/user-review-ui-change-screen-download-commands.png[width=800, link="images/user-review-ui-change-screen-download-commands.png"]
410
411The available download commands depend on the installed Gerrit plugins.
412The most popular plugin for download commands, the
413link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/download-commands[
414download-commands] plugin, provides commands to checkout, pull and
415cherry-pick a patch set.
416
417Each command has a copy-to-clipboard icon that allows the command to be
418copied into the clipboard. This makes it easy to paste and execute the
419command on a Git command line.
420
421If several download schemes are configured on the server (e.g. SSH and
422HTTP) there is a drop-down list to switch between the download schemes.
423Gerrit automatically remembers the download scheme that was last chosen
424and selects this download scheme the next time the download commands
425drop-down panel is opened.
426
427The `Patch-File` links provide the Git patch file for the currently
428viewed patch set for download. The patch file can be base64 encoded or
429zipped.
430
431The `Archive` links allow one to download an archive with the contents
432of the currently viewed patch set. The archive is offered in several
433formats (e.g. tar and tbz2); which formats are available depends on the
434configuration of the server.
435
436image::images/user-review-ui-change-screen-download-commands-list.png[width=800, link="images/user-review-ui-change-screen-download-commands-list.png"]
437
Edwin Kempin811bd582014-05-05 13:39:24 +0200438[[included-in]]
439=== Included In
440
441For merged changes the `Included In` drop-down panel is available in
442the change header.
443
444image::images/user-review-ui-change-screen-included-in.png[width=800, link="images/user-review-ui-change-screen-included-in.png"]
445
446The `Included In` drop-down panel shows the branches and tags in which
447the change is included. E.g. if a change fixes a bug, this allows to
448quickly see in which released versions the bug-fix is contained
449(assuming that every release is tagged).
450
451image::images/user-review-ui-change-screen-included-in-list.png[width=800, link="images/user-review-ui-change-screen-included-in-list.png"]
452
Edwin Kempin981cc952014-05-05 14:04:08 +0200453[[star]]
454=== Star Change
455
456The star icon in the change header allows to mark the change as a
457favorite. Clicking on the star icon again, unstars the change.
458
459image::images/user-review-ui-change-screen-star.png[width=800, link="images/user-review-ui-change-screen-star.png"]
460
461Starring a change turns on email notifications for this change.
462
463Starred changed are listed under `My` > `Starred Changes`.
464and can be queried by the link:user-search.html#is[is:starred] search
465operator.
466
Edwin Kempin8ab5b532014-05-05 17:10:31 +0200467[[related-changes]]
468=== Related Changes
469
470If there are changes that are related to the currently viewed change
471they are displayed in the third column of the change screen.
472
473There are several lists of related changes and a tab control is used to
474display each list of related changes in its own tab.
475
476The following tabs may be displayed:
477
478[[related-changes-tab]]
479- `Related Changes`:
480+
481This tab page shows changes on which the current change depends
482(ancestors) and open changes that depend on the current change
483(descendants). For merge commits it also shows the closed changes that
484will be merged into the destination branch by submitting the merge
485commit.
486+
487The changes are sorted in the same way as the output of 'git log'. This
488means the relationship between the changes can be inferred from the
489position of the changes in the list. Changes listed above the current
490change are descendants; changes below the current change are ancestors.
491+
492This tab is only available for open changes.
493+
494image::images/user-review-ui-change-screen-related-changes.png[width=800, link="images/user-review-ui-change-screen-related-changes.png"]
495+
496Related changes may be decorated with an icon to signify dependencies
497on outdated patch sets, or commits that are not associated to changes
498under review:
499+
500** Orange Dot:
501+
502The selected patch set of the change is outdated; it is not the current
503patch set of the change.
504+
505If an ancestor change is marked with an orange dot it means that the
506currently viewed patch set depends on a outdated patch set of the
507ancestor change. This is because a new patch set for the ancestor
508change was uploaded in the meantime and as result the currently viewed
509patch set now needs to be rebased.
510+
511If a descendant change is marked with an orange dot it means that an
512old patch set of the descendant change depends on the currently viewed
513patch set. It may be that the descendant was rebased in the meantime
514and with the new patch set this dependency was removed.
515
516** Green Tilde:
517+
518The selected patch set of the change is an indirect descendant of the
519currently viewed patch set; it has a dependency to another patch set of
520this change. E.g. this could mean that a new patch set was uploaded for
521this change and the descendant change now needs to be rebased. Please
522note that following the link to an indirect descendant change may
523result in a completely different related changes listing.
524
525** Black Dot:
526+
527Indicates a merged ancestor, e.g. the commit was directly pushed into
528the repository bypassing code review, or the ancestor change was
529reviewed and submitted on another branch. The latter may indicate that
530the user has accidentally pushed the commit to the wrong branch, e.g.
531the commit was done on `branch-a`, but was then pushed to
532`refs/for/branch-b`.
533
534+
535image::images/user-review-ui-change-screen-related-changes-indicators.png[width=800, link="images/user-review-ui-change-screen-related-changes-indicators.png"]
536
537- `Conflicts With`:
538+
539This tab page shows changes that conflict with the current change.
540Non-mergeable changes are filtered out; only conflicting changes that
541are mergeable are shown.
542+
543If this change is merged, its conflicting changes will have merge
544conflicts and must be rebased. The rebase of the other changes with the
545conflict resolution must then be done manually.
546+
547image::images/user-review-ui-change-screen-conflicts-with.png[width=800, link="images/user-review-ui-change-screen-conflicts-with.png"]
548
549- `Same Topic`:
550+
551This tab page shows changes that have the same topic as the current
552change. Only open changes are included in the list.
553+
554image::images/user-review-ui-change-screen-same-topic.png[width=800, link="images/user-review-ui-change-screen-same-topic.png"]
555
556- `Cherry-Picks`:
557+
558This tab page shows changes with the same link:user-changeid.html[
559Change-Id] for the current project.
560+
561Abandoned changes are filtered out.
562+
563For each change in this list the destination branch is shown as a
564prefix in front of the change subject.
565+
566image::images/user-review-ui-change-screen-cherry-picks.png[width=800, link="images/user-review-ui-change-screen-cherry-picks.png"]
567
568If there are no related changes for a tab, the tab is not displayed.
569
Edwin Kempinae57e182014-04-30 13:38:55 +0200570[[old-change-screen]]
571=== Old Change Screen
572
573In addition to the normal change screen, this Gerrit version still
574includes the old change screen that was used in earlier Gerrit
575versions. Users that want to continue using the old change screen can
576configure it in their preferences under
577`Settings` > `Preferences` > `Change View`:
578
579image::images/user-review-ui-change-view-preference.png[width=800, link="images/user-review-ui-change-view-preference.png"]
580
581[WARNING]
582The old change screen will be removed in a later version of Gerrit.
583
Edwin Kempin4fd84c92014-04-30 13:23:15 +0200584GERRIT
585------
586Part of link:index.html[Gerrit Code Review]
587
588SEARCHBOX
589---------