Skip to content

Get a patch for two commits

GET
/repositories/{workspace}/{repo_slug}/patch/{spec}

Produces a raw patch for a single commit (diffed against its first parent), or a patch-series for a revspec of 2 commits (e.g. 3a8b42..9ff173 where the first commit represents the source and the second commit the destination).

In case of the latter (diffing a revspec), a patch series is returned for the commits on the source branch (3a8b42 and its ancestors in our example).

While similar to diffs, patches:

  • Have a commit header (username, commit message, etc)
  • Do not support the path=foo/bar.py query parameter

The raw patch 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.

repo_slug
required
string

This can either be the repository slug or the UUID of the repository, surrounded by curly-braces, for example: {repository UUID}.

spec
required
string

A commit SHA (e.g. 3a8b42) or a commit range using double dot notation (e.g. 3a8b42..9ff173).

workspace
required
string

This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example: {workspace UUID}.

The raw patches

If the diff was too large and timed out.

Since this endpoint does not employ any form of pagination, but instead returns the diff as a single document, it can run into trouble on very large diffs. If Bitbucket times out in cases like these, a 555 status code is returned.

Media type application/json
Error

Base type for most resource objects. It defines the common type element that identifies an object’s type. It also identifies the element as Swagger’s discriminator.

object
type
required
string
error
object
message
required
string
detail
string
data

Optional structured data that is endpoint-specific.

object
key
additional properties
any
key
additional properties
any
Example generated
{
"type": "example",
"error": {
"message": "example",
"detail": "example",
"data": {}
}
}