CodeCommit / Client / describe_merge_conflicts

describe_merge_conflicts#

CodeCommit.Client.describe_merge_conflicts(**kwargs)#

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy. If the merge option for the attempted merge is specified as FAST_FORWARD_MERGE, an exception is thrown.

See also: AWS API Documentation

Request Syntax

response = client.describe_merge_conflicts(
    repositoryName='string',
    destinationCommitSpecifier='string',
    sourceCommitSpecifier='string',
    mergeOption='FAST_FORWARD_MERGE'|'SQUASH_MERGE'|'THREE_WAY_MERGE',
    maxMergeHunks=123,
    filePath='string',
    conflictDetailLevel='FILE_LEVEL'|'LINE_LEVEL',
    conflictResolutionStrategy='NONE'|'ACCEPT_SOURCE'|'ACCEPT_DESTINATION'|'AUTOMERGE',
    nextToken='string'
)
Parameters:
  • repositoryName (string) –

    [REQUIRED]

    The name of the repository where you want to get information about a merge conflict.

  • destinationCommitSpecifier (string) –

    [REQUIRED]

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

  • sourceCommitSpecifier (string) –

    [REQUIRED]

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

  • mergeOption (string) –

    [REQUIRED]

    The merge option or strategy you want to use to merge the code.

  • maxMergeHunks (integer) – The maximum number of merge hunks to include in the output.

  • filePath (string) –

    [REQUIRED]

    The path of the target files used to describe the conflicts.

  • conflictDetailLevel (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.

  • conflictResolutionStrategy (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.

  • nextToken (string) – An enumeration token that, when provided in a request, returns the next batch of the results.

Return type:

dict

Returns:

Response Syntax

{
    'conflictMetadata': {
        'filePath': 'string',
        'fileSizes': {
            'source': 123,
            'destination': 123,
            'base': 123
        },
        'fileModes': {
            'source': 'EXECUTABLE'|'NORMAL'|'SYMLINK',
            'destination': 'EXECUTABLE'|'NORMAL'|'SYMLINK',
            'base': 'EXECUTABLE'|'NORMAL'|'SYMLINK'
        },
        'objectTypes': {
            'source': 'FILE'|'DIRECTORY'|'GIT_LINK'|'SYMBOLIC_LINK',
            'destination': 'FILE'|'DIRECTORY'|'GIT_LINK'|'SYMBOLIC_LINK',
            'base': 'FILE'|'DIRECTORY'|'GIT_LINK'|'SYMBOLIC_LINK'
        },
        'numberOfConflicts': 123,
        'isBinaryFile': {
            'source': True|False,
            'destination': True|False,
            'base': True|False
        },
        'contentConflict': True|False,
        'fileModeConflict': True|False,
        'objectTypeConflict': True|False,
        'mergeOperations': {
            'source': 'A'|'M'|'D',
            'destination': 'A'|'M'|'D'
        }
    },
    'mergeHunks': [
        {
            'isConflict': True|False,
            'source': {
                'startLine': 123,
                'endLine': 123,
                'hunkContent': 'string'
            },
            'destination': {
                'startLine': 123,
                'endLine': 123,
                'hunkContent': 'string'
            },
            'base': {
                'startLine': 123,
                'endLine': 123,
                'hunkContent': 'string'
            }
        },
    ],
    'nextToken': 'string',
    'destinationCommitId': 'string',
    'sourceCommitId': 'string',
    'baseCommitId': 'string'
}

Response Structure

  • (dict) –

    • conflictMetadata (dict) –

      Contains metadata about the conflicts found in the merge.

      • filePath (string) –

        The path of the file that contains conflicts.

      • fileSizes (dict) –

        The file sizes of the file in the source, destination, and base of the merge.

        • source (integer) –

          The size of a file in the source of a merge or pull request.

        • destination (integer) –

          The size of a file in the destination of a merge or pull request.

        • base (integer) –

          The size of a file in the base of a merge or pull request.

      • fileModes (dict) –

        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 (dict) –

        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 (dict) –

        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 (dict) –

        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 merge hunks of the differences between the files or lines.

      • (dict) –

        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 (dict) –

          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 (dict) –

          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 (dict) –

          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.

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

Exceptions