Improve MR Reviewability with File Ordering
Problem to solve
As a reviewer, I want to be able to follow the logical progression of files in an MR without jumping around or - worse - scrolling top to bottom (alphabetic) and just having to remember which files reference / depend on / interact with each other files. I want this because it make the review go more smoothly, and I can better understand the intent of the changes.
As an author, I want to be able to organize the files in an MR so that reviewers get a better picture of that the MR changes do and how the files interact.
Any person who needs to review more than one or two files in an MR.
User experience goal
The MR author should be able to interact with the MR editing screen to organize files separate from their alphabetized / directory order.
The first pass here can be a fairly simple numeric order. Each file is listed with a number, and the MR author can change the numbers. Eventually, this same interface could have drag-and-drop functionality added on top. This information would be stored alongside other MR information, and would be used when fetching any MR files as well as reported to the frontend so it can sort / update the files appropriately.
Additionally on a per-project and per-MR basis, it would be good to mark some files as not needing review (for example if they are automatically generated from other source files). Ideally this could take the form of a
.gitlab/merge_request_ignore file, or files could be marked as to be ignored in the review interface.