ListFileCommitHistory - AWS CodeCommit

ListFileCommitHistory

Retrieves a list of commits and changes to a specified file.

Request Syntax

{ "commitSpecifier": "string", "filePath": "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.

commitSpecifier

The fully quaified reference that identifies the commit that contains the file. For example, you can specify a full commit ID, a tag, a branch name, or a reference such as refs/heads/main. If none is provided, the head commit is used.

Type: String

Required: No

filePath

The full path of the file whose history you want to retrieve, including the name of the file.

Type: String

Required: Yes

maxResults

A non-zero, non-negative integer used to limit the number of returned results.

Type: Integer

Required: No

nextToken

An enumeration token that allows the operation to batch the results.

Type: String

Required: No

repositoryName

The name of the repository that contains the file.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [\w\.-]+

Required: Yes

Response Syntax

{ "nextToken": "string", "revisionDag": [ { "blobId": "string", "commit": { "additionalData": "string", "author": { "date": "string", "email": "string", "name": "string" }, "commitId": "string", "committer": { "date": "string", "email": "string", "name": "string" }, "message": "string", "parents": [ "string" ], "treeId": "string" }, "path": "string", "revisionChildren": [ "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.

nextToken

An enumeration token that can be used to return the next batch of results.

Type: String

revisionDag

An array of FileVersion objects that form a directed acyclic graph (DAG) of the changes to the file made by the commits that changed the file.

Type: Array of FileVersion objects

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

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

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

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

TipsDivergenceExceededException

The divergence between the tips of the provided commit specifiers is too great to determine whether there might be any merge conflicts. Locally compare the specifiers using git diff or a diff tool.

HTTP Status Code: 400

Examples

Example

This example illustrates one usage of ListFileCommitHistory.

Sample Request

POST / HTTP/1.1 Host: codecommit.us-east-1.amazonaws.com Accept-Encoding: identity Content-Length: 54 X-Amz-Target: CodeCommit_20150413.ListFileCommitHistory X-Amz-Date: 20230816T224020Z User-Agent: aws-cli/1.29.30 Python/3.6.10 Linux/4.9.184-0.1.ac.235.83.329.metal1.x86_64 botocore/1.15.36 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", "filePath": "README.md" }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: 0728aaa8-EXAMPLE Content-Type: application/x-amz-json-1.1 Content-Length: 300 Date: Wed, 16 Aug 2023 22:40:20 GMT { "revisionDag": [ { "commit": {…, "commitId": "4f178133EXAMPLE", …}, "blobId": "2eb4af3bEXAMPLE", "filePath": "README.md", "revisionChildren": [] }, { "commit": {…, "commitId": "317f8570EXAMPLE", …}, "blobId": "bf7fcf28fEXAMPLE", "filePath": "README.md", "revisionChildren": ["4f178133EXAMPLE"] }, ], "nextToken": "exampleToken", }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: