Select your cookie preferences

We use cookies and similar tools to enhance your experience, provide our services, deliver relevant advertising, and make improvements. Approved third parties also use these tools to help us deliver advertising and provide certain site features.

describe_merge_conflicts

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

  • CodeCommit.Client.exceptions.RepositoryNameRequiredException
  • CodeCommit.Client.exceptions.InvalidRepositoryNameException
  • CodeCommit.Client.exceptions.RepositoryDoesNotExistException
  • CodeCommit.Client.exceptions.MergeOptionRequiredException
  • CodeCommit.Client.exceptions.InvalidMergeOptionException
  • CodeCommit.Client.exceptions.InvalidContinuationTokenException
  • CodeCommit.Client.exceptions.CommitRequiredException
  • CodeCommit.Client.exceptions.CommitDoesNotExistException
  • CodeCommit.Client.exceptions.InvalidCommitException
  • CodeCommit.Client.exceptions.TipsDivergenceExceededException
  • CodeCommit.Client.exceptions.PathRequiredException
  • CodeCommit.Client.exceptions.InvalidPathException
  • CodeCommit.Client.exceptions.FileDoesNotExistException
  • CodeCommit.Client.exceptions.InvalidMaxMergeHunksException
  • CodeCommit.Client.exceptions.InvalidConflictDetailLevelException
  • CodeCommit.Client.exceptions.InvalidConflictResolutionStrategyException
  • CodeCommit.Client.exceptions.MaximumFileContentToLoadExceededException
  • CodeCommit.Client.exceptions.MaximumItemsToCompareExceededException
  • CodeCommit.Client.exceptions.EncryptionIntegrityChecksFailedException
  • CodeCommit.Client.exceptions.EncryptionKeyAccessDeniedException
  • CodeCommit.Client.exceptions.EncryptionKeyDisabledException
  • CodeCommit.Client.exceptions.EncryptionKeyNotFoundException
  • CodeCommit.Client.exceptions.EncryptionKeyUnavailableException