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
- Provide a mechanism to mark files in the context of a merge request as "reviewed"
- Collapse files that have been marked as "reviewed"
- Persist this state on return visits
- Clear the state if new changes are introduced to a relevant file
- 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)
Further info
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. |
|
GitHub | There's a Viewed checkbox in each file header. Selecting it collapses the file.Reviewed/viewed files are not visible to others. |
|
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 |
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.