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

******************************
batch_describe_merge_conflicts
******************************



.. py:method:: CodeCommit.Client.batch_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.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDescribeMergeConflicts>`_  


  **Request Syntax**
  ::

    response = client.batch_describe_merge_conflicts(
        repositoryName='string',
        destinationCommitSpecifier='string',
        sourceCommitSpecifier='string',
        mergeOption='FAST_FORWARD_MERGE'|'SQUASH_MERGE'|'THREE_WAY_MERGE',
        maxMergeHunks=123,
        maxConflictFiles=123,
        filePaths=[
            '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 that contains the merge conflicts you want to review.

    

  
  :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 maxConflictFiles: integer
  :param maxConflictFiles: 

    The maximum number of files to include in the output.

    

  
  :type filePaths: list
  :param filePaths: 

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

    

  
    - *(string) --* 

    

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

    
    ::

      {
          'conflicts': [
              {
                  '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',
          'errors': [
              {
                  'filePath': 'string',
                  'exceptionName': 'string',
                  'message': 'string'
              },
          ],
          'destinationCommitId': 'string',
          'sourceCommitId': 'string',
          'baseCommitId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **conflicts** *(list) --* 

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

        
        

        - *(dict) --* 

          Information about conflicts in a merge operation.

          
          

          - **conflictMetadata** *(dict) --* 

            Metadata about a conflict in a merge operation.

            
            

            - **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 hunks that contain the differences between files or lines causing the conflict.

            
            

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

        
      

      - **errors** *(list) --* 

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

        
        

        - *(dict) --* 

          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.

        
  
  **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.InvalidMaxConflictFilesException`

  
  *   :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`

  