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

DeleteFile

Deletes a specified file from a specified branch. A commit is created on the branch that contains the revision. The file will still exist in the commits prior to the commit that contains the deletion.

Request Syntax

{ "branchName": "string", "commitMessage": "string", "email": "string", "filePath": "string", "keepEmptyFolders": boolean, "name": "string", "parentCommitId": "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.

branchName

The name of the branch where the commit will be made deleting the file.

Type: String

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

Required: Yes

commitMessage

The commit message you want to include as part of deleting the file. Commit messages are limited to 256 KB. If no message is specified, a default message will be used.

Type: String

Required: No

email

The email address for the commit that deletes the file. If no email address is specified, the email address will be left blank.

Type: String

Required: No

filePath

The fully-qualified path to the file that will be deleted, including the full name and extension of that file. For example, /examples/file.md is a fully qualified path to a file named file.md in a folder named examples.

Type: String

Required: Yes

keepEmptyFolders

Specifies whether to delete the folder or directory that contains the file you want to delete if that file is the only object in the folder or directory. By default, empty folders will be deleted. This includes empty folders that are part of the directory structure. For example, if the path to a file is dir1/dir2/dir3/dir4, and dir2 and dir3 are empty, deleting the last file in dir4 will also delete the empty folders dir4, dir3, and dir2.

Type: Boolean

Required: No

name

The name of the author of the commit that deletes the file. If no name is specified, the user's ARN will be used as the author name and committer name.

Type: String

Required: No

parentCommitId

The ID of the commit that is the tip of the branch where you want to create the commit that will delete the file. This must be the HEAD commit for the branch. The commit that deletes the file will be created from this commit ID.

Type: String

Required: Yes

repositoryName

The name of the repository that contains the file to delete.

Type: String

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

Pattern: [\w\.-]+

Required: Yes

Response Syntax

{ "blobId": "string", "commitId": "string", "filePath": "string", "treeId": "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.

blobId

The blob ID removed from the tree as part of deleting the file.

Type: String

commitId

The full commit ID of the commit that contains the change that deletes the file.

Type: String

filePath

The fully-qualified path to the file that will be deleted, including the full name and extension of that file.

Type: String

treeId

The full SHA-1 pointer of the tree information for the commit that contains the delete file change.

Type: String

Errors

For information about the errors that are common to all actions, see Common Errors.

BranchDoesNotExistException

The specified branch does not exist.

HTTP Status Code: 400

BranchNameIsTagNameException

The specified branch name is not valid because it is a tag name. Type the name of a current branch in the repository. For a list of valid branch names, use ListBranches.

HTTP Status Code: 400

BranchNameRequiredException

A branch name is required but was not specified.

HTTP Status Code: 400

CommitMessageLengthExceededException

The commit message is too long. Provide a shorter string.

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

FileDoesNotExistException

The specified file does not exist. Verify that you have provided the correct name of the file, including its full path and extension.

HTTP Status Code: 400

InvalidBranchNameException

The specified reference name is not valid.

HTTP Status Code: 400

InvalidEmailException

The specified email address either contains one or more characters that are not allowed, or it exceeds the maximum number of characters allowed for an email address.

HTTP Status Code: 400

InvalidParentCommitIdException

The parent commit ID is not valid. The commit ID cannot be empty, and must match the head commit ID for the branch of the repository where you want to add or update a file.

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

NameLengthExceededException

The user name is not valid because it has exceeded the character limit for file names. File names, including the path to the file, cannot exceed the character limit.

HTTP Status Code: 400

ParentCommitDoesNotExistException

The parent commit ID is not valid because it does not exist. The specified parent commit ID does not exist in the specified branch of the repository.

HTTP Status Code: 400

ParentCommitIdOutdatedException

The file could not be added because the provided parent commit ID is not the current tip of the specified branch. To view the full commit ID of the current head of the branch, use GetBranch.

HTTP Status Code: 400

ParentCommitIdRequiredException

A parent commit ID is required. To view the full commit ID of a branch in a repository, use GetBranch or a Git command (for example, git pull or git log).

HTTP Status Code: 400

PathRequiredException

The folderPath for a location cannot be null.

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: 182 X-Amz-Target: CodeCommit_20150413.DeleteFile X-Amz-Date: 20180914T223454Z User-Agent: aws-cli/1.15.9 Python/2.7.11 Darwin/16.7.0 botocore/1.10.9 Content-Type: application/x-amz-json-1.1 Authorization: AWS4-HMAC-SHA256 Credential=AKIAEXAMPLE/20180914/us-east-1/codecommit/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=0be88b13EXAMPLE { "branchName": "master", "repositoryName": "MyDemoRepo", "parentCommitId": "c5709475EXAMPLE", "filePath": "README.md" }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: 66c7bf89-EXAMPLE Content-Type: application/x-amz-json-1.1 Content-Length: 182 Date: Fri, 14 Sep 2018 22:34:56 GMT Connection: keep-alive { "blobId":"559b44fEXAMPLE", "commitId":"353cf655EXAMPLE", "filePath":"README.md", "treeId":"6bc824cEXAMPLE" }

See Also

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