Skip to content

range-diff when comparing merge request versions

Problem to solve

History-of-history diff instead of just a code diff when comparing merge request versions.

Further details

This is relevant for projects which are very rebase heavy in how they handle patch submissions, expecting that fixups are squashed into the original commits in a merge request. And sometimes also the patch series reordered for various reasons.

git release 2.19 has a new tool range-diff, which provides a neat way to look at such history-of-history diff. It would be great to add this to the merge request UI.

Proposal

What does success look like, and how can we measure that?

Merge request changes view (the page that hides behind the "Compare with previous version" links in merge requests) also provides a range-diff option (maybe call it history diff, range is a rather technical git term), which then displays the output of git range-diff (but with all the gitlab UI neatness ofc, with all the things hyperlinked and different parts nicely group). I'm not an UX expert, so better I don't try to attach a mockup.

Links / references

https://blog.github.com/2018-09-10-highlights-from-git-2-19/#compare-histories-with-git-range-diff