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

*******************
get_merge_conflicts
*******************



.. py:method:: CodeCommit.Client.get_merge_conflicts(**kwargs)

  

  Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.

  

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


  **Request Syntax**
  ::

    response = client.get_merge_conflicts(
        repositoryName='string',
        destinationCommitSpecifier='string',
        sourceCommitSpecifier='string',
        mergeOption='FAST_FORWARD_MERGE'|'SQUASH_MERGE'|'THREE_WAY_MERGE',
        conflictDetailLevel='FILE_LEVEL'|'LINE_LEVEL',
        maxConflictFiles=123,
        conflictResolutionStrategy='NONE'|'ACCEPT_SOURCE'|'ACCEPT_DESTINATION'|'AUTOMERGE',
        nextToken='string'
    )
    
  :type repositoryName: string
  :param repositoryName: **[REQUIRED]** 

    The name of the repository where the pull request was created.

    

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

    The maximum number of files to include in the output.

    

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

    
    ::

      {
          'mergeable': True|False,
          'destinationCommitId': 'string',
          'sourceCommitId': 'string',
          'baseCommitId': 'string',
          'conflictMetadataList': [
              {
                  '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'
                  }
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **mergeable** *(boolean) --* 

        A Boolean value that indicates whether the code is mergeable by the specified merge option.

        
      

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

        
      

      - **conflictMetadataList** *(list) --* 

        A list of metadata for any conflicting files. If the specified merge strategy is FAST_FORWARD_MERGE, this list is always empty.

        
        

        - *(dict) --* 

          Information about the metadata for 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.

              
        
      
    
      

      - **nextToken** *(string) --* 

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

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

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

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

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

  