Compare merge request versions smarter
Description
Today we compare MR versions by simply diff the head of version1
and version2
. This is problematic when a MR gets rebased with the target branch. Instead of seeing the relevant changes, it is polluted with unrelated target branch changes.
side note: It is unrealistic for an organization to prevent rebasing MR's. This is a common practice to fix CI pipelines, squash fixups, get latest code from related merged MR's.
Proposal
Instead of simply comparing version1
with version2
, we compare version1 difference from target
with version2 difference from target
. This way we only see relevant changes which matches the user's expectations.
This is commonly done on the CLI using a command like:
diff <(git diff master...version1) <(git diff master...version2)