Allow retrieval of branch/tag comparison without diffs in Gitlab API
Problem to solve
Extremely large git commits (in terms of included changes) cause the Gitlab API to be slow or unresponsive.
Further details
Occasionally we have a very large commit in terms of included changes, to the point that the Gitlab API response object is in the hundreds of megabytes (for example, the case when several new translations of help files have been added, which means the "diff" is actually the full contents of the file). All we really care about is the commits and their messages, so a way to suppress the inclusion of the diffs is desired.
Proposal
Include a parameter in the API endpoint for branch/tag comparison that suppresses the inclusion of file diffs and return only information about the commits in the branch/tag diff. Thus the "diffs" field in the JSON response would be excluded.
What does success look like, and how can we measure that?
Success looks like a much more manageable and responsive response for the branch/tag comparison endpoint. One could create a test repo with one or two hundred copies of a small text file, then make a small change to each one and commit it to a branch/tag. Then attempt to retrieve the branch/tag comparison between the master and branch both with and without the new diff-exclusion feature enabled and compare response times.