|# Review It? - Android application for Gerrit
|[Gerrit](https://www.gerritcodereview.com) provides web based code review and
|repository management for the Git version control system. The Review It? app is
|an Android app for Gerrit that allows sorting of incoming changes and review of
|The app suppports a 2-step review process:
|1. Sort the incoming changes
|2. Do review on the selected changes
|Some users may just want to do reviews and skip the first step.
|This is not an official Google product.
|## Sorting of incoming changes
|When working with Gerrit it is a common workflow that reviewers are not always
|explicitly assigned, but that committers and contributors watch the incoming
|changes and choose those changes for review that are interesting to them.
|Watching incoming changes can be done in different ways, e.g:
|* manually go through the list of open changes
|* register project watches to get email notifications about new changes
|These approaches have some problems in common when the number of incoming
|changes gets too high:
|* some changes of interest are not noticed (e.g. get lost in the mail inbox)
|* at the time of notification there may be no time for immediate review, and at
| the moment when there is time to review, some of the interesting changes have
| been forgotten
|* changes that are not interesting popup again and again whenever they are
|The 'ReviewIt?' Android app tries to solve these problems by offering a simple
|way to sort incoming changes:
|* mark interesting changes to review them later (by putting a labeled star on
|* mark non-interesting changes as ignored
|The actual review of the changes is done later, either by using the Gerrit web
|UI or by using the review functionality of the Review It? app. The idea is that
|the sorting of incoming changes allows users to stay updated about their project
|while they are not in office (see new changes and sort them), but the code
|review is done only later when there is time for it. Also some large changes may
|not be reviewable on the small display of a phone.
|The changes that have been starred are accessible by a change query or a Gerrit
|dashboard, and hence they can be easily found when there is time to do reviews.
|The app should configure an entry for this dashboard in the Gerrit menu
|automatically (e.g. ‘My’ > ‘Review It’).
|Updates for ignored changes are filtered out so that the noise is reduced.
|In addition to starring/ignoring a change, the app also offers to skip changes.
|Skipping a change means that the user is asked about this change once more when
|it was updated.
|Within the app the user can define a change query for the incoming changes. The
|results are then presented one by one. For each change a decision (star, ignore
|or skip) has to be made to go to the next change.
|Starring/ignoring a change can be done by swiping the change to the right/left
|side. In addition there are buttons to trigger starring, ignoring and skipping a
|The main app screen provides the information that is most relevant to deciding
|whether a change is interesting:
|* subject + commit message
|* project, branch, topic
|* age (when was the change last updated)
|* patch set number, number of positive and negative Code-Review votes
|* number of comments
|* number of reviewers
|* positive/negative Verified votes (green/red background)
|* whether the change is mergeable (orange background)
|This information is presented in a very compressed way and the focus is on the
|subject and the commit message.
|All actions (star, ignore and skip) are undoable by clicking on the undo action
|in the menu, so that mistakes in sorting can be easily corrected.
|Sometimes when watching a change one knows another person that is well suited to
|review this change. This is why there is an add reviewer action in the menu that
|allows to add another person as reviewer. Reviewer names are auto-completed on
|There is also a menu entry to abandon the current change if it is no longer
|By clicking on the bottom of the change one can go to a detailed change view
|where more information is presented, e.g. the change number, the change link,
|the approvals and the list of files. This detailed change view is zoomable.
|The diff for all files can be seen in one unified diff view.
|The file diffs are presented in a scroll view where the header with the file
|name of the currently viewed file diff is sticky at the top of the screen.
|Skipped context lines can be expanded.
|## Reviewing (small) changes
|This is not implemented yet, but it is envisioned to show a list of changes
|(either those starred by the sorting step or all incoming changes) and then
|allow the user to select a change for review. This leads to the view with the
|unified diff of all changed files and at the end of it there will be voting
|buttons to approve or reject the change.
|Contributions are welcome!
|Please read the [contribution
|Note that we do not accept Pull Requests via the Github mirror.