:doc:`CodeCommit <../../codecommit>` / Client / describe_merge_conflicts

************************
describe_merge_conflicts
************************



.. py:method:: 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 <https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DescribeMergeConflicts>`_  


  **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'
    )
    
  :type repositoryName: string
  :param repositoryName: **[REQUIRED]** 

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

    

  
  :type destinationCommitSpecifier: string
  :param destinationCommitSpecifier: **[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).

    

  
  :type sourceCommitSpecifier: string
  :param sourceCommitSpecifier: **[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).

    

  
  :type mergeOption: string
  :param mergeOption: **[REQUIRED]** 

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

    

  
  :type maxMergeHunks: integer
  :param maxMergeHunks: 

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

    

  
  :type filePath: string
  :param filePath: **[REQUIRED]** 

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

    

  
  :type conflictDetailLevel: string
  :param conflictDetailLevel: 

    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.

    

  
  :type conflictResolutionStrategy: string
  :param conflictResolutionStrategy: 

    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.

    

  
  :type nextToken: string
  :param nextToken: 

    An enumeration token that, when provided in a request, returns the next batch of the results.

    

  
  
  :rtype: 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**
  
  *   :py:class:`CodeCommit.Client.exceptions.RepositoryNameRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidRepositoryNameException`

  
  *   :py:class:`CodeCommit.Client.exceptions.RepositoryDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.MergeOptionRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidMergeOptionException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidContinuationTokenException`

  
  *   :py:class:`CodeCommit.Client.exceptions.CommitRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.CommitDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidCommitException`

  
  *   :py:class:`CodeCommit.Client.exceptions.TipsDivergenceExceededException`

  
  *   :py:class:`CodeCommit.Client.exceptions.PathRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidPathException`

  
  *   :py:class:`CodeCommit.Client.exceptions.FileDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidMaxMergeHunksException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidConflictDetailLevelException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidConflictResolutionStrategyException`

  
  *   :py:class:`CodeCommit.Client.exceptions.MaximumFileContentToLoadExceededException`

  
  *   :py:class:`CodeCommit.Client.exceptions.MaximumItemsToCompareExceededException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionIntegrityChecksFailedException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyAccessDeniedException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyDisabledException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyNotFoundException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyUnavailableException`

  