GetDifferences
Returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference). Results can be limited to a specified path.
Request Syntax
{
"afterCommitSpecifier": "string
",
"afterPath": "string
",
"beforeCommitSpecifier": "string
",
"beforePath": "string
",
"MaxResults": number
,
"NextToken": "string
",
"repositoryName": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- afterCommitSpecifier
-
The branch, tag, HEAD, or other fully qualified reference used to identify a commit.
Type: String
Required: Yes
- afterPath
-
The file path in which to check differences. Limits the results to this path. Can also be used to specify the changed name of a directory or folder, if it has changed. If not specified, differences are shown for all paths.
Type: String
Required: No
- beforeCommitSpecifier
-
The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, the full commit ID). Optional. If not specified, all changes before the
afterCommitSpecifier
value are shown. If you do not usebeforeCommitSpecifier
in your request, consider limiting the results withmaxResults
.Type: String
Required: No
- beforePath
-
The file path in which to check for differences. Limits the results to this path. Can also be used to specify the previous name of a directory or folder. If
beforePath
andafterPath
are not specified, differences are shown for all paths.Type: String
Required: No
- MaxResults
-
A non-zero, non-negative integer used to limit the number of returned results.
Type: Integer
Required: No
- NextToken
-
An enumeration token that, when provided in a request, returns the next batch of the results.
Type: String
Required: No
- repositoryName
-
The name of the repository where you want to get differences.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[\w\.-]+
Required: Yes
Response Syntax
{
"differences": [
{
"afterBlob": {
"blobId": "string",
"mode": "string",
"path": "string"
},
"beforeBlob": {
"blobId": "string",
"mode": "string",
"path": "string"
},
"changeType": "string"
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- differences
-
A data type object that contains information about the differences, including whether the difference is added, modified, or deleted (A, D, M).
Type: Array of Difference objects
- NextToken
-
An enumeration token that can be used in a request to return the next batch of the results.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors.
- CommitDoesNotExistException
-
The specified commit does not exist or no commit was specified, and the specified repository has no default branch.
HTTP Status Code: 400
- CommitRequiredException
-
A commit was not specified.
HTTP Status Code: 400
- EncryptionIntegrityChecksFailedException
-
An encryption integrity check failed.
HTTP Status Code: 500
- EncryptionKeyAccessDeniedException
-
An encryption key could not be accessed.
HTTP Status Code: 400
- EncryptionKeyDisabledException
-
The encryption key is disabled.
HTTP Status Code: 400
- EncryptionKeyNotFoundException
-
No encryption key was found.
HTTP Status Code: 400
- EncryptionKeyUnavailableException
-
The encryption key is not available.
HTTP Status Code: 400
- InvalidCommitException
-
The specified commit is not valid.
HTTP Status Code: 400
- InvalidCommitIdException
-
The specified commit ID is not valid.
HTTP Status Code: 400
- InvalidContinuationTokenException
-
The specified continuation token is not valid.
HTTP Status Code: 400
- InvalidMaxResultsException
-
The specified number of maximum results is not valid.
HTTP Status Code: 400
- InvalidPathException
-
The specified path is not valid.
HTTP Status Code: 400
- InvalidRepositoryNameException
-
A specified repository name is not valid.
Note
This exception occurs only when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.
HTTP Status Code: 400
- PathDoesNotExistException
-
The specified path does not exist.
HTTP Status Code: 400
- RepositoryDoesNotExistException
-
The specified repository does not exist.
HTTP Status Code: 400
- RepositoryNameRequiredException
-
A repository name is required, but was not specified.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of GetDifferences.
Sample Request
POST / HTTP/1.1
Host: codecommit.us-east-1.amazonaws.com
Accept-Encoding: identity
Content-Length: 57
X-Amz-Target: CodeCommit_20150413.GetDifferences
X-Amz-Date: 20170111T224311Z
User-Agent: aws-cli/1.7.38 Python/2.7.9 Windows/7
Content-Type: application/x-amz-json-1.1
Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20151028/us-east-1/codecommit/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE
{
"repositoryName": "MyDemoRepo",
"beforeCommitSpecifier": "16d097f03EXAMPLE",
"afterCommitSpecifier": "fac04518EXAMPLE"
"beforePath": "tmp/example-folder"
"afterPath": "tmp/renamed-folder",
}
Sample Response
HTTP/1.1 200 OK
x-amzn-RequestId: 0728aaa8-EXAMPLE
Content-Type: application/x-amz-json-1.1
Content-Length: 770
Date: Wed, 11 Jan 2017 22:43:13 GMT
{
"differences": [
{
"afterBlob": {
"path": "blob.txt",
"blobId": "2eb4af3bEXAMPLE",
"mode": "100644"
},
"changeType": "M",
"beforeBlob": {
"path": "blob.txt",
"blobId": "bf7fcf28fEXAMPLE",
"mode": "100644"
}
}
]
}
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: