Clicking "This diff is collapsed. Click to expand it." in a merge request ignores "Compare" selection
Summary
When comparing two versions in a merge request, and expanding a diff, the versions that were selected for comparisons are ignored.
Steps to reproduce
- Create a new branch and a new merge request
- Make 3 large commits (enough to trigger a diff collapse) to the merge request branch so that there are at least three versions
- Go to the merge request's "Changes" tab
- Select to compare versions 1 and 2
- Expand a diff
- You will see the expanded diff shows the diff to the final version regardless of your selection
Loading the merge request URL with expanded=1
shows the correct output. The issue is only with expanding collapse diffs.
Example Project
This first link demonstrates the problem.
This link (with expanded=1) demonstrates the expected output.
What is the current bug behavior?
The link to expand the diff seems to be missing an "end_sha" (or similar) parameter. The "start_sha" value is properly changed. The result is that the diff always compares to the latest commit in the merge request.
Loading the Merge Request page with &expanded=1
skips the expansion link, and the correct diff is displayed.
What is the expected correct behavior?
Clicking the "This diff is collapsed. Click to expand it." link should show the correct diff, taking your "Compare" selections into account.
Output of checks
This bug happens on Gitlab.com