Add ability to diff between any two commits from a merge request
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Description
If I create a merge request then push another commit to it after creation, GitLab lets me diff between the two sets of commits from the Changes tab. This is very useful to see only what has changed in the most recent set of commits.
This feature would be even more useful if it were extended to diff between any two set of commits in the merge request. Often, commits are separated logically, and without this feature it becomes very difficult to review certain types of changes.
Example
Here's an example:
- (base commit)
- Commit 1: Moves 500 source files, with no functional change
- Commit 2: Moves 250 more source files, with no functional changes
- Commit 3: Change some project/make files (18 files)
- Commit 4: Oops, I forgot some of the make files (3 files)
- Commit 5: Oops, I used tabs instead of spaces (4 files)
In this case, it is very tedious to view the diff as a whole, because the real changes made by a human that should be more heavily scrutinized (commits 3-5) are lost among all of the file moves. This could be mitigated easily by giving users the option to diff between commit 2 and commit 5 in the merge request, and allow them to make comments on the review. (A user may also want to just view and comment on a diff of Commit 2 vs. the base commit.)
Proposal
Modify the merge request interface to allow users to diff between any two commits of the user's choosing (similar to the existing ability to diff between Version1 and Version2 after more changes are pushed). The user needs to be allowed to make review comments on this view as well.