Menu
AWS CodeCommit
API Reference (API Version 2015-04-13)

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 will be 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 prior to the afterCommitSpecifier value will be shown. If you do not use beforeCommitSpecifier in your request, consider limiting the results with maxResults.

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 and afterPath are not specified, differences will be shown for all paths.

Type: String

Required: No

MaxResults

A 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 differences 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

At least one specified repository name is not valid.

Note

This exception only occurs 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

Example

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 AWS SDKs, see the following: