[ aws . codecommit ]
Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
get-merge-conflicts
--repository-name <value>
--destination-commit-specifier <value>
--source-commit-specifier <value>
--merge-option <value>
[--conflict-detail-level <value>]
[--max-conflict-files <value>]
[--conflict-resolution-strategy <value>]
[--next-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--repository-name
(string)
The name of the repository where the pull request was created.
--destination-commit-specifier
(string)
The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).
--source-commit-specifier
(string)
The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).
--merge-option
(string)
The merge option or strategy you want to use to merge the code.
Possible values:
FAST_FORWARD_MERGE
SQUASH_MERGE
THREE_WAY_MERGE
--conflict-detail-level
(string)
The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.
Possible values:
FILE_LEVEL
LINE_LEVEL
--max-conflict-files
(integer)
The maximum number of files to include in the output.
--conflict-resolution-strategy
(string)
Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.
Possible values:
NONE
ACCEPT_SOURCE
ACCEPT_DESTINATION
AUTOMERGE
--next-token
(string)
An enumeration token that, when provided in a request, returns the next batch of the results.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
See ‘aws help’ for descriptions of global parameters.
Note
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
To view whether there are any merge conflicts for a pull request
The following get-merge-conflicts
example displays whether there are any merge conflicts between the tip of a source branch named feature-randomizationfeature
and a destination branch named ‘main’ in a repository named MyDemoRepo
.
aws codecommit get-merge-conflicts \
--repository-name MyDemoRepo \
--source-commit-specifier feature-randomizationfeature \
--destination-commit-specifier main \
--merge-option THREE_WAY_MERGE
Output:
{
"mergeable": false,
"destinationCommitId": "86958e0aEXAMPLE",
"sourceCommitId": "6ccd57fdEXAMPLE",
"baseCommitId": "767b6958EXAMPLE",
"conflictMetadataList": [
{
"filePath": "readme.md",
"fileSizes": {
"source": 139,
"destination": 230,
"base": 85
},
"fileModes": {
"source": "NORMAL",
"destination": "NORMAL",
"base": "NORMAL"
},
"objectTypes": {
"source": "FILE",
"destination": "FILE",
"base": "FILE"
},
"numberOfConflicts": 1,
"isBinaryFile": {
"source": false,
"destination": false,
"base": false
},
"contentConflict": true,
"fileModeConflict": false,
"objectTypeConflict": false,
"mergeOperations": {
"source": "M",
"destination": "M"
}
}
]
}
mergeable -> (boolean)
A Boolean value that indicates whether the code is mergeable by the specified merge option.
destinationCommitId -> (string)
The commit ID of the destination commit specifier that was used in the merge evaluation.
sourceCommitId -> (string)
The commit ID of the source commit specifier that was used in the merge evaluation.
baseCommitId -> (string)
The commit ID of the merge base.
conflictMetadataList -> (list)
A list of metadata for any conflicting files. If the specified merge strategy is FAST_FORWARD_MERGE, this list is always empty.
(structure)
Information about the metadata for a conflict in a merge operation.
filePath -> (string)
The path of the file that contains conflicts.
fileSizes -> (structure)
The file sizes of the file in the source, destination, and base of the merge.
source -> (long)
The size of a file in the source of a merge or pull request.
destination -> (long)
The size of a file in the destination of a merge or pull request.
base -> (long)
The size of a file in the base of a merge or pull request.
fileModes -> (structure)
The file modes of the file in the source, destination, and base of the merge.
source -> (string)
The file mode of a file in the source of a merge or pull request.
destination -> (string)
The file mode of a file in the destination of a merge or pull request.
base -> (string)
The file mode of a file in the base of a merge or pull request.
objectTypes -> (structure)
Information about any object type conflicts in a merge operation.
source -> (string)
The type of the object in the source branch.
destination -> (string)
The type of the object in the destination branch.
base -> (string)
The type of the object in the base commit of the merge.
numberOfConflicts -> (integer)
The number of conflicts, including both hunk conflicts and metadata conflicts.
isBinaryFile -> (structure)
A boolean value (true or false) indicating whether the file is binary or textual in the source, destination, and base of the merge.
source -> (boolean)
The binary or non-binary status of file in the source of a merge or pull request.
destination -> (boolean)
The binary or non-binary status of a file in the destination of a merge or pull request.
base -> (boolean)
The binary or non-binary status of a file in the base of a merge or pull request.
contentConflict -> (boolean)
A boolean value indicating whether there are conflicts in the content of a file.
fileModeConflict -> (boolean)
A boolean value indicating whether there are conflicts in the file mode of a file.
objectTypeConflict -> (boolean)
A boolean value (true or false) indicating whether there are conflicts between the branches in the object type of a file, folder, or submodule.
mergeOperations -> (structure)
Whether an add, modify, or delete operation caused the conflict between the source and destination of the merge.
source -> (string)
The operation (add, modify, or delete) on a file in the source of a merge or pull request.
destination -> (string)
The operation on a file in the destination of a merge or pull request.
nextToken -> (string)
An enumeration token that can be used in a request to return the next batch of the results.