One merge request per commit?
For Historical Reference
Just to keep things in order i keep the previous text for reference...
Given the view that a commit is one unit of change, I share this view. It would make sense to me to have the option to see each commit on my branch as a separate merge request. Sort of how Gerrit works.
Is this something Gitlab supports?
From this point on, the actual feature proposal starts.
Problem to solve
When sending a set of commits for review as a merge request we get the complete diff from the start of the branch to the very tip of the same as the main way of reviewing the set. This gets quite fast quite unmanageable when there are a lot of changes on the branch.
The interface for a merge request is indeed quite well made in my opinion, but not for huge amounts of changes.
Further details
There are related feature proposals that seek to simplify the way we can review and navigate on a commit-by-commit basis. Some of these include.
- https://gitlab.com/gitlab-org/gitlab-ce/issues/10854
- https://gitlab.com/gitlab-org/gitlab-ce/issues/39380
- https://gitlab.com/gitlab-org/gitlab-ce/issues/32313
thanks to @markglenfletcher for finding them.
This proposal is indeed related to the above listed proposals but not quite in the same way. I'd like to propose a different solution.
As the interface for merge request is already quite well made, at least in my opinion, i see no reason to change it. It would be enough to change what it's being used for.
Instead of using the interface to review everything that has changed on a branch, it would be more suitable to create one merge request per commit.
You still have to keep all those merge requests together somehow but i think that's another feature proposal.
(Include use cases, benefits, and/or goals) The benefit of going this route is that we reuse an already quite well functioning UI while still playing to its strengths.
Proposal
Keep the merge request interface as is but create one merge request per commit instead.
What does success look like, and how can we measure that?
Success here would be being able to review a huge branch of 1000s of line changes just as easy as a review of a tiny branch of 5 line changes.