Add a parameter to retrieve full context diffs via Compare API
Problem to solve
When diffing branches or commits via the Compare API, the unified diffs are return with partial context. To show a full context view of the changes, it requires retrieving the full contents of each file via the Files API. This is quite costly when the number of changed files is large.
Intended users
Tool developers.
Proposal
Option 1: Context parameter
Accept an optional context
parameter for GET /projects/:id/repository/compare
that is passed to git diff
Option 2: Snapshot parameter
Accept an optional snapshot
parameter for GET /projects/:id/repository/compare
which is false
by default. If true
is provided, a $.diffs[*].snapshot
field is provided with full content (preferred left side of the comparison).
What does success look like, and how can we measure that?
Possible to create/retrieve full context diffs from a single Compare API without additional File API calls.