[ aws . codecommit ]

batch-describe-merge-conflicts

Description

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  batch-describe-merge-conflicts
--repository-name <value>
--destination-commit-specifier <value>
--source-commit-specifier <value>
--merge-option <value>
[--max-merge-hunks <value>]
[--max-conflict-files <value>]
[--file-paths <value>]
[--conflict-detail-level <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 that contains the merge conflicts you want to review.

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

--max-merge-hunks (integer)

The maximum number of merge hunks to include in the output.

--max-conflict-files (integer)

The maximum number of files to include in the output.

--file-paths (list)

The path of the target files used to describe the conflicts. If not specified, the default is all conflict files.

(string)

Syntax:

"string" "string" ...

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

--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 get information about merge conflicts in all files or a subset of files in a merge between two commit specifiers

The following batch-describe-merge-conflicts example determines the merge conflicts for merging a source branch named feature-randomizationfeature with a destination branch named master using the THREE_WAY_MERGE strategy in a repository named MyDemoRepo.

aws codecommit batch-describe-merge-conflicts \
    --source-commit-specifier feature-randomizationfeature \
    --destination-commit-specifier master \
    --merge-option THREE_WAY_MERGE \
    --repository-name MyDemoRepo

Output:

{
    "conflicts": [
        {
            "conflictMetadata": {
                "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"
                }
            },
            "mergeHunks": [
                {
                    "isConflict": true,
                    "source": {
                        "startLine": 0,
                        "endLine": 3,
                        "hunkContent": "VGhpcyBpEXAMPLE=="
                    },
                    "destination": {
                        "startLine": 0,
                        "endLine": 1,
                        "hunkContent": "VXNlIHRoEXAMPLE="
                    }
                }
            ]
        }
    ],
    "errors": [],
    "destinationCommitId": "86958e0aEXAMPLE",
    "sourceCommitId": "6ccd57fdEXAMPLE",
    "baseCommitId": "767b6958EXAMPLE"
}

For more information, see Resolve Conflicts in a Pull Request in the AWS CodeCommit User Guide.

Output

conflicts -> (list)

A list of conflicts for each file, including the conflict metadata and the hunks of the differences between the files.

(structure)

Information about conflicts in a merge operation.

conflictMetadata -> (structure)

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

mergeHunks -> (list)

A list of hunks that contain the differences between files or lines causing the conflict.

(structure)

Information about merge hunks in a merge or pull request operation.

isConflict -> (boolean)

A Boolean value indicating whether a combination of hunks contains a conflict. Conflicts occur when the same file or the same lines in a file were modified in both the source and destination of a merge or pull request. Valid values include true, false, and null. True when the hunk represents a conflict and one or more files contains a line conflict. File mode conflicts in a merge do not set this to true.

source -> (structure)

Information about the merge hunk in the source of a merge or pull request.

startLine -> (integer)

The start position of the hunk in the merge result.

endLine -> (integer)

The end position of the hunk in the merge result.

hunkContent -> (string)

The base-64 encoded content of the hunk merged region that might contain a conflict.

destination -> (structure)

Information about the merge hunk in the destination of a merge or pull request.

startLine -> (integer)

The start position of the hunk in the merge result.

endLine -> (integer)

The end position of the hunk in the merge result.

hunkContent -> (string)

The base-64 encoded content of the hunk merged region that might contain a conflict.

base -> (structure)

Information about the merge hunk in the base of a merge or pull request.

startLine -> (integer)

The start position of the hunk in the merge result.

endLine -> (integer)

The end position of the hunk in the merge result.

hunkContent -> (string)

The base-64 encoded content of the hunk merged region that might contain a conflict.

nextToken -> (string)

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

errors -> (list)

A list of any errors returned while describing the merge conflicts for each file.

(structure)

Returns information about errors in a BatchDescribeMergeConflicts operation.

filePath -> (string)

The path to the file.

exceptionName -> (string)

The name of the exception.

message -> (string)

The message provided by the exception.

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.