[ aws . codecommit ]

get-merge-conflicts

Description

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.

Synopsis

  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>]

Options

--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.

See ‘aws help’ for descriptions of global parameters.

Examples

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"
            }
        }
    ]
}

Output

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.