Skip to content

Mark changes to files as "reviewed" in merge requests

Feature flag: local_file_reviews. See rollout issue.

Problem to solve

In large merge requests (especially ones that have a number or revisions) it can be hard to keep track of the files that you have already reviewed and are happy with.

Further details

Currently some users collapse files that I have reviewed to track progress, but this state is not persisted through sessions.

The ability to mark as approved pending comment/discussion resolution. i.e. I make a comment and will approve the change once the comment is resolved

Proposal

  1. Provide a mechanism to mark files in the context of a merge request as "reviewed"
  2. Collapse files that have been marked as "reviewed"
  3. Persist this state on return visits
  4. Clear the state if new changes are introduced to a relevant file
  5. Out of scope: Provide counter for how many files have been reviewed thus far

IMPORTANT NOTE: The first iteration of this will be frontend only and rely on LocalStorage to track state. (Details)

image

Further info

#29144 (closed)

#6479 (closed)

Competition

Competitive analysis
Name Description Screenshot
Azure DevOps In the file browser, there are checkboxes next to each file and directory to mark them as reviewed. There's also a Mark as reviewed option in an overflow dropdown for each file.
Reviewed/viewed files are not visible to others.
image
GitHub There's a Viewed checkbox in each file header. Selecting it collapses the file.
Reviewed/viewed files are not visible to others.
image
Gerrit In the file list, has a Mark reviewed button for each file.
In the file detail, has a checkbox next to each file name.
Files are automatically marked as reviewed when opened, both in the list and in their own page.
Reviewed/viewed files are not visible to others.
CleanShot_2020-11-24_at_12.16.20
CleanShot_2020-11-24_at_12.15.42
Reviewable Has an eye icon next to each file name. Also has a Mark reviewed and go to next file button at the bottom of each file.
Reviewed/viewed files are visible to others after publishing the review.
CleanShot_2020-11-24_at_12.11.46

UX Research Insight

When reviewing code changes in the diff view, the size of manually collapsed files can be a visual distraction, as users progress through a code review. Managing collapsed files that have already been reviewed can become challenging if the state is not properly remembered after a user refreshes the page. Additionally, users need to be able to track the progress they’ve made after viewing files.

Action: Explore the concept of reducing the size of manually "collapsed" files in a Merge Request. Give users the ability to mark files they've already viewed so they are hidden throughout the rest of the code review.

Source: Dovetail insight

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖