MR: Improve "Changes" tab to show what *will* change when the source branch is *merged* to target branch
Problem
Currently, "Changes" tab at
"Changes" tab completely fails to show what will change after it's merged (future tense).
Additionally, if git merge master
was performed on that branch, the "Changes" display is practically useless because it shows all those merged changes. Performing code review on such a branch is a no-go and it's causing trouble us (EEP customer: DreamHost) trouble.
Proposal
Show what /will/ change after it's merged.
Technically speaking, show a diff AS IF the source branch (e.g. feature branch) was rebased to target branch (e.g. master). That means the diff would be dynamic in nature - possibly changing whenever the target branch changes.
Implementation suggestion 1
- Add
target branch (head)
(e.g.master (head)
to the list here: - Whenever a user changes a view between
target branch (head)
andtarget branch (abcdef)
, remember the preference in user settings. - Make it the default if no preference was set. (Otherwise few developers will barely ever use this far superior diff view!)
Implementation suggestion 2
- Rename "Changes" to "Changes on branch" where things will stay as normal.
- Add a new tab named "Changes on merge" where the proposed diff will live.
Superiority to existing diff
Showing a diff in relation to target branch's HEAD is the most reasonable approach in the context of a Merge Request. It's far more important to know what the target branch will look like once someone hits Merge.
EE candidate
This feature could be a good candidate for EES or maybe even EEP. In fact, we use MRs in conjunction with MR approvals, which is an EES feature. CC @bikebilly
Links / references
~"feature proposal" merge requests approvals
@markglenfletcher @markpundsack
Proposal prepared together with @joshua.keroes.