File/change approval in merge requests
Description
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.
Would be great to be able to individually mark each file (or even individual change chunk) as "approved" so when returning to the merge request later, you can tell that how far through you have got with the review.
May even want to be able to hide "approved" sections.
If an "approved" section/file is modified by a later commit, it will automatically become "un-approved"
When all changes are "approved" special note will be made near the accept merge request button.
For extra credit
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
Automatically prompt to accept merge request when all changes are approved.
https://gitlab.com/gitlab-org/gitlab-ee/issues/6479
Further context fromMark individual files as reviewed in code review
Problem to solve
When reviewing a large merge request, it can take several sessions to get through the whole thing.
It would be useful to be able to track what you have/have-not reviewed by marking files reviewed.
Currently I collapse files that I have reviewed, but this state is not persisted through sessions.
Further details
Currently I collapse files that I have reviewed to track my progress, but this state is not persisted through sessions.
Proposal
Allow me to in some-way mark a file as reviewed for myself (not for others) Persist this state on return visits Clear the state when the merge request is updated (perhaps with some intelligence if the file hasn't changed) Stretch goal - Allow me to see who else has reviewed a file in order to be able to divide-and-conquer a large merge request with team-mates
What does success look like, and how can we measure that?
Large merge requests are more approachable to reviewers