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

GetMergeConflicts

Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.

Request Syntax

{ "destinationCommitSpecifier": "string", "mergeOption": "string", "repositoryName": "string", "sourceCommitSpecifier": "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.

destinationCommitSpecifier

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

Type: String

Required: Yes

mergeOption

The merge option or strategy you want to use to merge the code. The only valid value is FAST_FORWARD_MERGE.

Type: String

Valid Values: FAST_FORWARD_MERGE

Required: Yes

repositoryName

The name of the repository where the pull request was created.

Type: String

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

Pattern: [\w\.-]+

Required: Yes

sourceCommitSpecifier

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

Type: String

Required: Yes

Response Syntax

{ "destinationCommitId": "string", "mergeable": boolean, "sourceCommitId": "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.

destinationCommitId

The commit ID of the destination commit specifier that was used in the merge evaluation.

Type: String

mergeable

A Boolean value that indicates whether the code is mergable by the specified merge option.

Type: Boolean

sourceCommitId

The commit ID of the source commit specifier that was used in the merge evaluation.

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

InvalidDestinationCommitSpecifierException

The destination commit specifier is not valid. You must provide a valid branch name, tag, or full commit ID.

HTTP Status Code: 400

InvalidMergeOptionException

The specified merge option is not valid. The only valid value is FAST_FORWARD_MERGE.

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

InvalidSourceCommitSpecifierException

The source commit specifier is not valid. You must provide a valid branch name, tag, or full commit ID.

HTTP Status Code: 400

MergeOptionRequiredException

A merge option or stategy is required, and none was provided.

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

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.GetMergeConflicts X-Amz-Date: 20171111T224311Z User-Agent: aws-cli/1.11.187 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", "sourceCommitSpecifier": "my-feature-branch", "destinationCommitSpecifier": "master", "mergeOption": FAST_FORWARD_MERGE }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: 0728aaa8-EXAMPLE Content-Type: application/x-amz-json-1.1 Content-Length: 167 Date: Sat, 11 Nov 2017 22:59:13 GMT { "destinationCommitId": "fac04518EXAMPLE", "mergeable": false, "sourceCommitId": "16d097f03EXAMPLE" }

See Also

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