merge_branches_by_three_way

merge_branches_by_three_way(**kwargs)

Merges two specified branches using the three-way merge strategy.

See also: AWS API Documentation

Request Syntax

response = client.merge_branches_by_three_way(
    repositoryName='string',
    sourceCommitSpecifier='string',
    destinationCommitSpecifier='string',
    targetBranch='string',
    conflictDetailLevel='FILE_LEVEL'|'LINE_LEVEL',
    conflictResolutionStrategy='NONE'|'ACCEPT_SOURCE'|'ACCEPT_DESTINATION'|'AUTOMERGE',
    authorName='string',
    email='string',
    commitMessage='string',
    keepEmptyFolders=True|False,
    conflictResolution={
        'replaceContents': [
            {
                'filePath': 'string',
                'replacementType': 'KEEP_BASE'|'KEEP_SOURCE'|'KEEP_DESTINATION'|'USE_NEW_CONTENT',
                'content': b'bytes',
                'fileMode': 'EXECUTABLE'|'NORMAL'|'SYMLINK'
            },
        ],
        'deleteFiles': [
            {
                'filePath': 'string'
            },
        ],
        'setFileModes': [
            {
                'filePath': 'string',
                'fileMode': 'EXECUTABLE'|'NORMAL'|'SYMLINK'
            },
        ]
    }
)
Parameters
  • repositoryName (string) --

    [REQUIRED]

    The name of the repository where you want to merge two branches.

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

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

  • targetBranch (string) -- The branch where the merge is applied.
  • 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.
  • authorName (string) -- The name of the author who created the commit. This information is used as both the author and committer for the commit.
  • email (string) -- The email address of the person merging the branches. This information is used in the commit information for the merge.
  • commitMessage (string) -- The commit message to include in the commit information for the merge.
  • keepEmptyFolders (boolean) -- If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.
  • conflictResolution (dict) --

    If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.

    • replaceContents (list) --

      Files to have content replaced as part of the merge conflict resolution.

      • (dict) --

        Information about a replacement content entry in the conflict of a merge or pull request operation.

        • filePath (string) -- [REQUIRED]

          The path of the conflicting file.

        • replacementType (string) -- [REQUIRED]

          The replacement type to use when determining how to resolve the conflict.

        • content (bytes) --

          The base-64 encoded content to use when the replacement type is USE_NEW_CONTENT.

        • fileMode (string) --

          The file mode to apply during conflict resoltion.

    • deleteFiles (list) --

      Files to be deleted as part of the merge conflict resolution.

      • (dict) --

        A file that is deleted as part of a commit.

        • filePath (string) -- [REQUIRED]

          The full path of the file to be deleted, including the name of the file.

    • setFileModes (list) --

      File modes that are set as part of the merge conflict resolution.

      • (dict) --

        Information about the file mode changes.

        • filePath (string) -- [REQUIRED]

          The full path to the file, including the name of the file.

        • fileMode (string) -- [REQUIRED]

          The file mode for the file.

Return type

dict

Returns

Response Syntax

{
    'commitId': 'string',
    'treeId': 'string'
}

Response Structure

  • (dict) --

    • commitId (string) --

      The commit ID of the merge in the destination or target branch.

    • treeId (string) --

      The tree ID of the merge in the destination or target branch.

Exceptions

  • CodeCommit.Client.exceptions.RepositoryNameRequiredException
  • CodeCommit.Client.exceptions.InvalidRepositoryNameException
  • CodeCommit.Client.exceptions.RepositoryDoesNotExistException
  • CodeCommit.Client.exceptions.TipsDivergenceExceededException
  • CodeCommit.Client.exceptions.CommitRequiredException
  • CodeCommit.Client.exceptions.InvalidCommitException
  • CodeCommit.Client.exceptions.CommitDoesNotExistException
  • CodeCommit.Client.exceptions.InvalidTargetBranchException
  • CodeCommit.Client.exceptions.InvalidBranchNameException
  • CodeCommit.Client.exceptions.BranchNameRequiredException
  • CodeCommit.Client.exceptions.BranchNameIsTagNameException
  • CodeCommit.Client.exceptions.BranchDoesNotExistException
  • CodeCommit.Client.exceptions.ManualMergeRequiredException
  • CodeCommit.Client.exceptions.ConcurrentReferenceUpdateException
  • CodeCommit.Client.exceptions.InvalidConflictDetailLevelException
  • CodeCommit.Client.exceptions.InvalidConflictResolutionStrategyException
  • CodeCommit.Client.exceptions.InvalidConflictResolutionException
  • CodeCommit.Client.exceptions.MaximumConflictResolutionEntriesExceededException
  • CodeCommit.Client.exceptions.MultipleConflictResolutionEntriesException
  • CodeCommit.Client.exceptions.ReplacementTypeRequiredException
  • CodeCommit.Client.exceptions.InvalidReplacementTypeException
  • CodeCommit.Client.exceptions.ReplacementContentRequiredException
  • CodeCommit.Client.exceptions.InvalidReplacementContentException
  • CodeCommit.Client.exceptions.PathRequiredException
  • CodeCommit.Client.exceptions.InvalidPathException
  • CodeCommit.Client.exceptions.FileContentSizeLimitExceededException
  • CodeCommit.Client.exceptions.FolderContentSizeLimitExceededException
  • CodeCommit.Client.exceptions.MaximumFileContentToLoadExceededException
  • CodeCommit.Client.exceptions.MaximumItemsToCompareExceededException
  • CodeCommit.Client.exceptions.FileModeRequiredException
  • CodeCommit.Client.exceptions.InvalidFileModeException
  • CodeCommit.Client.exceptions.NameLengthExceededException
  • CodeCommit.Client.exceptions.InvalidEmailException
  • CodeCommit.Client.exceptions.CommitMessageLengthExceededException
  • CodeCommit.Client.exceptions.EncryptionIntegrityChecksFailedException
  • CodeCommit.Client.exceptions.EncryptionKeyAccessDeniedException
  • CodeCommit.Client.exceptions.EncryptionKeyDisabledException
  • CodeCommit.Client.exceptions.EncryptionKeyNotFoundException
  • CodeCommit.Client.exceptions.EncryptionKeyUnavailableException