v2
latestOpenAPI 3.0.02026-08-013312111.4 MBCompare two commits
Produces a raw git-style diff.
Single commit spec
If the spec argument to this API is a single commit, the diff is produced against the first parent of the specified commit.
Two commit spec
Two commits separated by .. may be provided as the spec, e.g., 3a8b42..9ff173. When two commits are provided and the topic query parameter is true, this API produces a 2-way three dot diff. This is the diff between source commit and the merge base of the source commit and the destination commit. When the topic query param is false, a simple git-style diff is produced.
The two commits are interpreted as follows:
- First commit: the commit containing the changes we wish to preview
- Second commit: the commit representing the state to which we want to compare the first commit
- Note: This is the opposite of the order used in git diff.
Comparison to patches
While similar to patches, diffs:
- Don't have a commit header (username, commit message, etc)
- Support the optional path=foo/bar.py query param to filter the diff to just that one file diff
Response
The raw diff is returned as-is, in whatever encoding the files in the repository use. It is not decoded into unicode. As such, the content-type is text/plain.
Query parameters
Generate diffs with <n> lines of context instead of the usual three.
Limit the diff to a particular file (this parameter can be repeated for multiple paths).
Generate diffs that ignore whitespace.
Generate diffs that include binary files, true if omitted.
Whether to perform rename detection, true if omitted.
This parameter is deprecated. The 'topic' parameter should be used instead. The 'merge' and 'topic' parameters cannot be both used at the same time.
If true, the source commit is merged into the destination commit, and then a diff from the destination to the merge result is returned. If false, a simple 'two dot' diff between the source and destination is returned. True if omitted.
If true, returns 2-way 'three-dot' diff. This is a diff between the source commit and the merge base of the source commit and the destination commit. If false, a simple 'two dot' diff between the source and destination is returned.
If omitted, defaults to true, ie. a 2 way 'three-dot' diff is returned.
Response
The raw diff