lib/aws-sdk-codecommit/client.rb in aws-sdk-codecommit-1.21.0 vs lib/aws-sdk-codecommit/client.rb in aws-sdk-codecommit-1.22.0
- old
+ new
@@ -258,10 +258,131 @@
super
end
# @!group API Operations
+ # Returns information about one or more merge conflicts in the attempted
+ # merge of two commit specifiers using the squash or three-way merge
+ # strategy.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository that contains the merge conflicts you want
+ # to review.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :merge_option
+ # The merge option or strategy you want to use to merge the code.
+ #
+ # @option params [Integer] :max_merge_hunks
+ # The maximum number of merge hunks to include in the output.
+ #
+ # @option params [Integer] :max_conflict_files
+ # The maximum number of files to include in the output.
+ #
+ # @option params [Array<String>] :file_paths
+ # The path of the target files used to describe the conflicts. If not
+ # specified, the default is all conflict files.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :next_token
+ # An enumeration token that when provided in a request, returns the next
+ # batch of the results.
+ #
+ # @return [Types::BatchDescribeMergeConflictsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::BatchDescribeMergeConflictsOutput#conflicts #conflicts} => Array<Types::Conflict>
+ # * {Types::BatchDescribeMergeConflictsOutput#next_token #next_token} => String
+ # * {Types::BatchDescribeMergeConflictsOutput#errors #errors} => Array<Types::BatchDescribeMergeConflictsError>
+ # * {Types::BatchDescribeMergeConflictsOutput#destination_commit_id #destination_commit_id} => String
+ # * {Types::BatchDescribeMergeConflictsOutput#source_commit_id #source_commit_id} => String
+ # * {Types::BatchDescribeMergeConflictsOutput#base_commit_id #base_commit_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.batch_describe_merge_conflicts({
+ # repository_name: "RepositoryName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # source_commit_specifier: "CommitName", # required
+ # merge_option: "FAST_FORWARD_MERGE", # required, accepts FAST_FORWARD_MERGE, SQUASH_MERGE, THREE_WAY_MERGE
+ # max_merge_hunks: 1,
+ # max_conflict_files: 1,
+ # file_paths: ["Path"],
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # next_token: "NextToken",
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.conflicts #=> Array
+ # resp.conflicts[0].conflict_metadata.file_path #=> String
+ # resp.conflicts[0].conflict_metadata.file_sizes.source #=> Integer
+ # resp.conflicts[0].conflict_metadata.file_sizes.destination #=> Integer
+ # resp.conflicts[0].conflict_metadata.file_sizes.base #=> Integer
+ # resp.conflicts[0].conflict_metadata.file_modes.source #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflicts[0].conflict_metadata.file_modes.destination #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflicts[0].conflict_metadata.file_modes.base #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflicts[0].conflict_metadata.object_types.source #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflicts[0].conflict_metadata.object_types.destination #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflicts[0].conflict_metadata.object_types.base #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflicts[0].conflict_metadata.number_of_conflicts #=> Integer
+ # resp.conflicts[0].conflict_metadata.is_binary_file.source #=> Boolean
+ # resp.conflicts[0].conflict_metadata.is_binary_file.destination #=> Boolean
+ # resp.conflicts[0].conflict_metadata.is_binary_file.base #=> Boolean
+ # resp.conflicts[0].conflict_metadata.content_conflict #=> Boolean
+ # resp.conflicts[0].conflict_metadata.file_mode_conflict #=> Boolean
+ # resp.conflicts[0].conflict_metadata.object_type_conflict #=> Boolean
+ # resp.conflicts[0].conflict_metadata.merge_operations.source #=> String, one of "A", "M", "D"
+ # resp.conflicts[0].conflict_metadata.merge_operations.destination #=> String, one of "A", "M", "D"
+ # resp.conflicts[0].merge_hunks #=> Array
+ # resp.conflicts[0].merge_hunks[0].is_conflict #=> Boolean
+ # resp.conflicts[0].merge_hunks[0].source.start_line #=> Integer
+ # resp.conflicts[0].merge_hunks[0].source.end_line #=> Integer
+ # resp.conflicts[0].merge_hunks[0].source.hunk_content #=> String
+ # resp.conflicts[0].merge_hunks[0].destination.start_line #=> Integer
+ # resp.conflicts[0].merge_hunks[0].destination.end_line #=> Integer
+ # resp.conflicts[0].merge_hunks[0].destination.hunk_content #=> String
+ # resp.conflicts[0].merge_hunks[0].base.start_line #=> Integer
+ # resp.conflicts[0].merge_hunks[0].base.end_line #=> Integer
+ # resp.conflicts[0].merge_hunks[0].base.hunk_content #=> String
+ # resp.next_token #=> String
+ # resp.errors #=> Array
+ # resp.errors[0].file_path #=> String
+ # resp.errors[0].exception_name #=> String
+ # resp.errors[0].message #=> String
+ # resp.destination_commit_id #=> String
+ # resp.source_commit_id #=> String
+ # resp.base_commit_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDescribeMergeConflicts AWS API Documentation
+ #
+ # @overload batch_describe_merge_conflicts(params = {})
+ # @param [Hash] params ({})
+ def batch_describe_merge_conflicts(params = {}, options = {})
+ req = build_request(:batch_describe_merge_conflicts, params)
+ req.send_request(options)
+ end
+
# Returns information about one or more repositories.
#
# <note markdown="1"> The description field for a repository accepts all HTML characters and
# all valid Unicode characters. Applications that do not HTML-encode the
# description and display it in a web page could expose users to
@@ -371,11 +492,12 @@
# default message will be used.
#
# @option params [Boolean] :keep_empty_folders
# If the commit contains deletions, whether to keep a folder or folder
# structure if the changes leave the folders empty. If this is specified
- # as true, a .gitkeep file will be created for empty folders.
+ # as true, a .gitkeep file will be created for empty folders. The
+ # default is false.
#
# @option params [Array<Types::PutFileEntry>] :put_files
# The files to add or update in this commit.
#
# @option params [Array<Types::DeleteFileEntry>] :delete_files
@@ -519,10 +641,12 @@
# resp.pull_request.pull_request_targets[0].destination_commit #=> String
# resp.pull_request.pull_request_targets[0].source_commit #=> String
# resp.pull_request.pull_request_targets[0].merge_base #=> String
# resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
# resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
# resp.pull_request.client_request_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequest AWS API Documentation
#
# @overload create_pull_request(params = {})
@@ -598,10 +722,124 @@
def create_repository(params = {}, options = {})
req = build_request(:create_repository, params)
req.send_request(options)
end
+ # Creates an unerferenced commit that represents the result of merging
+ # two branches using a specified merge strategy. This can help you
+ # determine the outcome of a potential merge.
+ #
+ # <note markdown="1"> This unreferenced merge commit can only be accessed using the
+ # GetCommit API or through git commands such as git fetch. To retrieve
+ # this commit, you must specify its commit ID or otherwise reference it.
+ #
+ # </note>
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository where you want to create the unreferenced
+ # merge commit.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :merge_option
+ # The merge option or strategy you want to use to merge the code.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :author_name
+ # The name of the author who created the unreferenced commit. This
+ # information will be used as both the author and committer for the
+ # commit.
+ #
+ # @option params [String] :email
+ # The email address for the person who created the unreferenced commit.
+ #
+ # @option params [String] :commit_message
+ # The commit message for the unreferenced commit.
+ #
+ # @option params [Boolean] :keep_empty_folders
+ # If the commit contains deletions, whether to keep a folder or folder
+ # structure if the changes leave the folders empty. If this is specified
+ # as true, a .gitkeep file will be created for empty folders. The
+ # default is false.
+ #
+ # @option params [Types::ConflictResolution] :conflict_resolution
+ # A list of inputs to use when resolving conflicts during a merge if
+ # AUTOMERGE is chosen as the conflict resolution strategy.
+ #
+ # @return [Types::CreateUnreferencedMergeCommitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::CreateUnreferencedMergeCommitOutput#commit_id #commit_id} => String
+ # * {Types::CreateUnreferencedMergeCommitOutput#tree_id #tree_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.create_unreferenced_merge_commit({
+ # repository_name: "RepositoryName", # required
+ # source_commit_specifier: "CommitName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # merge_option: "FAST_FORWARD_MERGE", # required, accepts FAST_FORWARD_MERGE, SQUASH_MERGE, THREE_WAY_MERGE
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # author_name: "Name",
+ # email: "Email",
+ # commit_message: "Message",
+ # keep_empty_folders: false,
+ # conflict_resolution: {
+ # replace_contents: [
+ # {
+ # file_path: "Path", # required
+ # replacement_type: "KEEP_BASE", # required, accepts KEEP_BASE, KEEP_SOURCE, KEEP_DESTINATION, USE_NEW_CONTENT
+ # content: "data",
+ # file_mode: "EXECUTABLE", # accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # delete_files: [
+ # {
+ # file_path: "Path", # required
+ # },
+ # ],
+ # set_file_modes: [
+ # {
+ # file_path: "Path", # required
+ # file_mode: "EXECUTABLE", # required, accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.commit_id #=> String
+ # resp.tree_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateUnreferencedMergeCommit AWS API Documentation
+ #
+ # @overload create_unreferenced_merge_commit(params = {})
+ # @param [Hash] params ({})
+ def create_unreferenced_merge_commit(params = {}, options = {})
+ req = build_request(:create_unreferenced_merge_commit, params)
+ req.send_request(options)
+ end
+
# Deletes a branch from a repository, unless that branch is the default
# branch for the repository.
#
# @option params [required, String] :repository_name
# The name of the repository that contains the branch to be deleted.
@@ -784,10 +1022,122 @@
def delete_repository(params = {}, options = {})
req = build_request(:delete_repository, params)
req.send_request(options)
end
+ # 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 will be thrown.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository where you want to get information about a
+ # merge conflict.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :merge_option
+ # The merge option or strategy you want to use to merge the code.
+ #
+ # @option params [Integer] :max_merge_hunks
+ # The maximum number of merge hunks to include in the output.
+ #
+ # @option params [required, String] :file_path
+ # The path of the target files used to describe the conflicts.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :next_token
+ # An enumeration token that when provided in a request, returns the next
+ # batch of the results.
+ #
+ # @return [Types::DescribeMergeConflictsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::DescribeMergeConflictsOutput#conflict_metadata #conflict_metadata} => Types::ConflictMetadata
+ # * {Types::DescribeMergeConflictsOutput#merge_hunks #merge_hunks} => Array<Types::MergeHunk>
+ # * {Types::DescribeMergeConflictsOutput#next_token #next_token} => String
+ # * {Types::DescribeMergeConflictsOutput#destination_commit_id #destination_commit_id} => String
+ # * {Types::DescribeMergeConflictsOutput#source_commit_id #source_commit_id} => String
+ # * {Types::DescribeMergeConflictsOutput#base_commit_id #base_commit_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.describe_merge_conflicts({
+ # repository_name: "RepositoryName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # source_commit_specifier: "CommitName", # required
+ # merge_option: "FAST_FORWARD_MERGE", # required, accepts FAST_FORWARD_MERGE, SQUASH_MERGE, THREE_WAY_MERGE
+ # max_merge_hunks: 1,
+ # file_path: "Path", # required
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # next_token: "NextToken",
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.conflict_metadata.file_path #=> String
+ # resp.conflict_metadata.file_sizes.source #=> Integer
+ # resp.conflict_metadata.file_sizes.destination #=> Integer
+ # resp.conflict_metadata.file_sizes.base #=> Integer
+ # resp.conflict_metadata.file_modes.source #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflict_metadata.file_modes.destination #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflict_metadata.file_modes.base #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflict_metadata.object_types.source #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflict_metadata.object_types.destination #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflict_metadata.object_types.base #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflict_metadata.number_of_conflicts #=> Integer
+ # resp.conflict_metadata.is_binary_file.source #=> Boolean
+ # resp.conflict_metadata.is_binary_file.destination #=> Boolean
+ # resp.conflict_metadata.is_binary_file.base #=> Boolean
+ # resp.conflict_metadata.content_conflict #=> Boolean
+ # resp.conflict_metadata.file_mode_conflict #=> Boolean
+ # resp.conflict_metadata.object_type_conflict #=> Boolean
+ # resp.conflict_metadata.merge_operations.source #=> String, one of "A", "M", "D"
+ # resp.conflict_metadata.merge_operations.destination #=> String, one of "A", "M", "D"
+ # resp.merge_hunks #=> Array
+ # resp.merge_hunks[0].is_conflict #=> Boolean
+ # resp.merge_hunks[0].source.start_line #=> Integer
+ # resp.merge_hunks[0].source.end_line #=> Integer
+ # resp.merge_hunks[0].source.hunk_content #=> String
+ # resp.merge_hunks[0].destination.start_line #=> Integer
+ # resp.merge_hunks[0].destination.end_line #=> Integer
+ # resp.merge_hunks[0].destination.hunk_content #=> String
+ # resp.merge_hunks[0].base.start_line #=> Integer
+ # resp.merge_hunks[0].base.end_line #=> Integer
+ # resp.merge_hunks[0].base.hunk_content #=> String
+ # resp.next_token #=> String
+ # resp.destination_commit_id #=> String
+ # resp.source_commit_id #=> String
+ # resp.base_commit_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DescribeMergeConflicts AWS API Documentation
+ #
+ # @overload describe_merge_conflicts(params = {})
+ # @param [Hash] params ({})
+ def describe_merge_conflicts(params = {}, options = {})
+ req = build_request(:describe_merge_conflicts, params)
+ req.send_request(options)
+ end
+
# Returns information about one or more pull request events.
#
# @option params [required, String] :pull_request_id
# The system-generated ID of the pull request. To get this ID, use
# ListPullRequests.
@@ -843,10 +1193,12 @@
# resp.pull_request_events[0].pull_request_source_reference_updated_event_metadata.merge_base #=> String
# resp.pull_request_events[0].pull_request_merged_state_changed_event_metadata.repository_name #=> String
# resp.pull_request_events[0].pull_request_merged_state_changed_event_metadata.destination_reference #=> String
# resp.pull_request_events[0].pull_request_merged_state_changed_event_metadata.merge_metadata.is_merged #=> Boolean
# resp.pull_request_events[0].pull_request_merged_state_changed_event_metadata.merge_metadata.merged_by #=> String
+ # resp.pull_request_events[0].pull_request_merged_state_changed_event_metadata.merge_metadata.merge_commit_id #=> String
+ # resp.pull_request_events[0].pull_request_merged_state_changed_event_metadata.merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
# resp.next_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DescribePullRequestEvents AWS API Documentation
#
# @overload describe_pull_request_events(params = {})
@@ -1342,10 +1694,70 @@
def get_folder(params = {}, options = {})
req = build_request(:get_folder, params)
req.send_request(options)
end
+ # Returns information about a specified merge commit.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository that contains the merge commit about which
+ # you want to get information.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @return [Types::GetMergeCommitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetMergeCommitOutput#source_commit_id #source_commit_id} => String
+ # * {Types::GetMergeCommitOutput#destination_commit_id #destination_commit_id} => String
+ # * {Types::GetMergeCommitOutput#base_commit_id #base_commit_id} => String
+ # * {Types::GetMergeCommitOutput#merged_commit_id #merged_commit_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_merge_commit({
+ # repository_name: "RepositoryName", # required
+ # source_commit_specifier: "CommitName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.source_commit_id #=> String
+ # resp.destination_commit_id #=> String
+ # resp.base_commit_id #=> String
+ # resp.merged_commit_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeCommit AWS API Documentation
+ #
+ # @overload get_merge_commit(params = {})
+ # @param [Hash] params ({})
+ def get_merge_commit(params = {}, options = {})
+ req = build_request(:get_merge_commit, params)
+ req.send_request(options)
+ end
+
# Returns information about merge conflicts between the before and after
# commit IDs for a pull request in a repository.
#
# @option params [required, String] :repository_name
# The name of the repository where the pull request was created.
@@ -1357,43 +1769,154 @@
# @option params [required, String] :source_commit_specifier
# The branch, tag, HEAD, or other fully qualified reference used to
# identify a commit. For example, a branch name or a full commit ID.
#
# @option params [required, String] :merge_option
- # The merge option or strategy you want to use to merge the code. The
- # only valid value is FAST\_FORWARD\_MERGE.
+ # The merge option or strategy you want to use to merge the code.
#
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [Integer] :max_conflict_files
+ # The maximum number of files to include in the output.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :next_token
+ # An enumeration token that when provided in a request, returns the next
+ # batch of the results.
+ #
# @return [Types::GetMergeConflictsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetMergeConflictsOutput#mergeable #mergeable} => Boolean
# * {Types::GetMergeConflictsOutput#destination_commit_id #destination_commit_id} => String
# * {Types::GetMergeConflictsOutput#source_commit_id #source_commit_id} => String
+ # * {Types::GetMergeConflictsOutput#base_commit_id #base_commit_id} => String
+ # * {Types::GetMergeConflictsOutput#conflict_metadata_list #conflict_metadata_list} => Array<Types::ConflictMetadata>
+ # * {Types::GetMergeConflictsOutput#next_token #next_token} => String
#
# @example Request syntax with placeholder values
#
# resp = client.get_merge_conflicts({
# repository_name: "RepositoryName", # required
# destination_commit_specifier: "CommitName", # required
# source_commit_specifier: "CommitName", # required
- # merge_option: "FAST_FORWARD_MERGE", # required, accepts FAST_FORWARD_MERGE
+ # merge_option: "FAST_FORWARD_MERGE", # required, accepts FAST_FORWARD_MERGE, SQUASH_MERGE, THREE_WAY_MERGE
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # max_conflict_files: 1,
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # next_token: "NextToken",
# })
#
# @example Response structure
#
# resp.mergeable #=> Boolean
# resp.destination_commit_id #=> String
# resp.source_commit_id #=> String
+ # resp.base_commit_id #=> String
+ # resp.conflict_metadata_list #=> Array
+ # resp.conflict_metadata_list[0].file_path #=> String
+ # resp.conflict_metadata_list[0].file_sizes.source #=> Integer
+ # resp.conflict_metadata_list[0].file_sizes.destination #=> Integer
+ # resp.conflict_metadata_list[0].file_sizes.base #=> Integer
+ # resp.conflict_metadata_list[0].file_modes.source #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflict_metadata_list[0].file_modes.destination #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflict_metadata_list[0].file_modes.base #=> String, one of "EXECUTABLE", "NORMAL", "SYMLINK"
+ # resp.conflict_metadata_list[0].object_types.source #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflict_metadata_list[0].object_types.destination #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflict_metadata_list[0].object_types.base #=> String, one of "FILE", "DIRECTORY", "GIT_LINK", "SYMBOLIC_LINK"
+ # resp.conflict_metadata_list[0].number_of_conflicts #=> Integer
+ # resp.conflict_metadata_list[0].is_binary_file.source #=> Boolean
+ # resp.conflict_metadata_list[0].is_binary_file.destination #=> Boolean
+ # resp.conflict_metadata_list[0].is_binary_file.base #=> Boolean
+ # resp.conflict_metadata_list[0].content_conflict #=> Boolean
+ # resp.conflict_metadata_list[0].file_mode_conflict #=> Boolean
+ # resp.conflict_metadata_list[0].object_type_conflict #=> Boolean
+ # resp.conflict_metadata_list[0].merge_operations.source #=> String, one of "A", "M", "D"
+ # resp.conflict_metadata_list[0].merge_operations.destination #=> String, one of "A", "M", "D"
+ # resp.next_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeConflicts AWS API Documentation
#
# @overload get_merge_conflicts(params = {})
# @param [Hash] params ({})
def get_merge_conflicts(params = {}, options = {})
req = build_request(:get_merge_conflicts, params)
req.send_request(options)
end
+ # Returns information about the merge options available for merging two
+ # specified branches. For details about why a particular merge option is
+ # not available, use GetMergeConflicts or DescribeMergeConflicts.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository that contains the commits about which you
+ # want to get merge options.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @return [Types::GetMergeOptionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetMergeOptionsOutput#merge_options #merge_options} => Array<String>
+ # * {Types::GetMergeOptionsOutput#source_commit_id #source_commit_id} => String
+ # * {Types::GetMergeOptionsOutput#destination_commit_id #destination_commit_id} => String
+ # * {Types::GetMergeOptionsOutput#base_commit_id #base_commit_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_merge_options({
+ # repository_name: "RepositoryName", # required
+ # source_commit_specifier: "CommitName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.merge_options #=> Array
+ # resp.merge_options[0] #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
+ # resp.source_commit_id #=> String
+ # resp.destination_commit_id #=> String
+ # resp.base_commit_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeOptions AWS API Documentation
+ #
+ # @overload get_merge_options(params = {})
+ # @param [Hash] params ({})
+ def get_merge_options(params = {}, options = {})
+ req = build_request(:get_merge_options, params)
+ req.send_request(options)
+ end
+
# Gets information about a pull request in a specified repository.
#
# @option params [required, String] :pull_request_id
# The system-generated ID of the pull request. To get this ID, use
# ListPullRequests.
@@ -1424,10 +1947,12 @@
# resp.pull_request.pull_request_targets[0].destination_commit #=> String
# resp.pull_request.pull_request_targets[0].source_commit #=> String
# resp.pull_request.pull_request_targets[0].merge_base #=> String
# resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
# resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
# resp.pull_request.client_request_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequest AWS API Documentation
#
# @overload get_pull_request(params = {})
@@ -1694,13 +2219,267 @@
def list_tags_for_resource(params = {}, options = {})
req = build_request(:list_tags_for_resource, params)
req.send_request(options)
end
+ # Merges two branches using the fast-forward merge strategy.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository where you want to merge two branches.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [String] :target_branch
+ # The branch where the merge will be applied.
+ #
+ # @return [Types::MergeBranchesByFastForwardOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::MergeBranchesByFastForwardOutput#commit_id #commit_id} => String
+ # * {Types::MergeBranchesByFastForwardOutput#tree_id #tree_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.merge_branches_by_fast_forward({
+ # repository_name: "RepositoryName", # required
+ # source_commit_specifier: "CommitName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # target_branch: "BranchName",
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.commit_id #=> String
+ # resp.tree_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByFastForward AWS API Documentation
+ #
+ # @overload merge_branches_by_fast_forward(params = {})
+ # @param [Hash] params ({})
+ def merge_branches_by_fast_forward(params = {}, options = {})
+ req = build_request(:merge_branches_by_fast_forward, params)
+ req.send_request(options)
+ end
+
+ # Merges two branches using the squash merge strategy.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository where you want to merge two branches.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [String] :target_branch
+ # The branch where the merge will be applied.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :author_name
+ # The name of the author who created the commit. This information will
+ # be used as both the author and committer for the commit.
+ #
+ # @option params [String] :email
+ # The email address of the person merging the branches. This information
+ # will be used in the commit information for the merge.
+ #
+ # @option params [String] :commit_message
+ # The commit message for the merge.
+ #
+ # @option params [Boolean] :keep_empty_folders
+ # If the commit contains deletions, whether to keep a folder or folder
+ # structure if the changes leave the folders empty. If this is specified
+ # as true, a .gitkeep file will be created for empty folders. The
+ # default is false.
+ #
+ # @option params [Types::ConflictResolution] :conflict_resolution
+ # A list of inputs to use when resolving conflicts during a merge if
+ # AUTOMERGE is chosen as the conflict resolution strategy.
+ #
+ # @return [Types::MergeBranchesBySquashOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::MergeBranchesBySquashOutput#commit_id #commit_id} => String
+ # * {Types::MergeBranchesBySquashOutput#tree_id #tree_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.merge_branches_by_squash({
+ # repository_name: "RepositoryName", # required
+ # source_commit_specifier: "CommitName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # target_branch: "BranchName",
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # author_name: "Name",
+ # email: "Email",
+ # commit_message: "Message",
+ # keep_empty_folders: false,
+ # conflict_resolution: {
+ # replace_contents: [
+ # {
+ # file_path: "Path", # required
+ # replacement_type: "KEEP_BASE", # required, accepts KEEP_BASE, KEEP_SOURCE, KEEP_DESTINATION, USE_NEW_CONTENT
+ # content: "data",
+ # file_mode: "EXECUTABLE", # accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # delete_files: [
+ # {
+ # file_path: "Path", # required
+ # },
+ # ],
+ # set_file_modes: [
+ # {
+ # file_path: "Path", # required
+ # file_mode: "EXECUTABLE", # required, accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.commit_id #=> String
+ # resp.tree_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesBySquash AWS API Documentation
+ #
+ # @overload merge_branches_by_squash(params = {})
+ # @param [Hash] params ({})
+ def merge_branches_by_squash(params = {}, options = {})
+ req = build_request(:merge_branches_by_squash, params)
+ req.send_request(options)
+ end
+
+ # Merges two specified branches using the three-way merge strategy.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository where you want to merge two branches.
+ #
+ # @option params [required, String] :source_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [required, String] :destination_commit_specifier
+ # The branch, tag, HEAD, or other fully qualified reference used to
+ # identify a commit. For example, a branch name or a full commit ID.
+ #
+ # @option params [String] :target_branch
+ # The branch where the merge will be applied.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :author_name
+ # The name of the author who created the commit. This information will
+ # be used as both the author and committer for the commit.
+ #
+ # @option params [String] :email
+ # The email address of the person merging the branches. This information
+ # will be used in the commit information for the merge.
+ #
+ # @option params [String] :commit_message
+ # The commit message to include in the commit information for the merge.
+ #
+ # @option params [Boolean] :keep_empty_folders
+ # If the commit contains deletions, whether to keep a folder or folder
+ # structure if the changes leave the folders empty. If this is specified
+ # as true, a .gitkeep file will be created for empty folders. The
+ # default is false.
+ #
+ # @option params [Types::ConflictResolution] :conflict_resolution
+ # A list of inputs to use when resolving conflicts during a merge if
+ # AUTOMERGE is chosen as the conflict resolution strategy.
+ #
+ # @return [Types::MergeBranchesByThreeWayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::MergeBranchesByThreeWayOutput#commit_id #commit_id} => String
+ # * {Types::MergeBranchesByThreeWayOutput#tree_id #tree_id} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.merge_branches_by_three_way({
+ # repository_name: "RepositoryName", # required
+ # source_commit_specifier: "CommitName", # required
+ # destination_commit_specifier: "CommitName", # required
+ # target_branch: "BranchName",
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # author_name: "Name",
+ # email: "Email",
+ # commit_message: "Message",
+ # keep_empty_folders: false,
+ # conflict_resolution: {
+ # replace_contents: [
+ # {
+ # file_path: "Path", # required
+ # replacement_type: "KEEP_BASE", # required, accepts KEEP_BASE, KEEP_SOURCE, KEEP_DESTINATION, USE_NEW_CONTENT
+ # content: "data",
+ # file_mode: "EXECUTABLE", # accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # delete_files: [
+ # {
+ # file_path: "Path", # required
+ # },
+ # ],
+ # set_file_modes: [
+ # {
+ # file_path: "Path", # required
+ # file_mode: "EXECUTABLE", # required, accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.commit_id #=> String
+ # resp.tree_id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByThreeWay AWS API Documentation
+ #
+ # @overload merge_branches_by_three_way(params = {})
+ # @param [Hash] params ({})
+ def merge_branches_by_three_way(params = {}, options = {})
+ req = build_request(:merge_branches_by_three_way, params)
+ req.send_request(options)
+ end
+
# Closes a pull request and attempts to merge the source commit of a
# pull request into the specified destination branch for that pull
- # request at the specified commit using the fast-forward merge option.
+ # request at the specified commit using the fast-forward merge strategy.
#
# @option params [required, String] :pull_request_id
# The system-generated ID of the pull request. To get this ID, use
# ListPullRequests.
#
@@ -1720,11 +2499,11 @@
# @example Request syntax with placeholder values
#
# resp = client.merge_pull_request_by_fast_forward({
# pull_request_id: "PullRequestId", # required
# repository_name: "RepositoryName", # required
- # source_commit_id: "CommitId",
+ # source_commit_id: "ObjectId",
# })
#
# @example Response structure
#
# resp.pull_request.pull_request_id #=> String
@@ -1741,10 +2520,12 @@
# resp.pull_request.pull_request_targets[0].destination_commit #=> String
# resp.pull_request.pull_request_targets[0].source_commit #=> String
# resp.pull_request.pull_request_targets[0].merge_base #=> String
# resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
# resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
# resp.pull_request.client_request_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByFastForward AWS API Documentation
#
# @overload merge_pull_request_by_fast_forward(params = {})
@@ -1752,10 +2533,252 @@
def merge_pull_request_by_fast_forward(params = {}, options = {})
req = build_request(:merge_pull_request_by_fast_forward, params)
req.send_request(options)
end
+ # Closes a pull request and attempts to merge the source commit of a
+ # pull request into the specified destination branch for that pull
+ # request at the specified commit using the squash merge strategy.
+ #
+ # @option params [required, String] :pull_request_id
+ # The system-generated ID of the pull request. To get this ID, use
+ # ListPullRequests.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository where the pull request was created.
+ #
+ # @option params [String] :source_commit_id
+ # The full commit ID of the original or updated commit in the pull
+ # request source branch. Pass this value if you want an exception thrown
+ # if the current commit ID of the tip of the source branch does not
+ # match this commit ID.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :commit_message
+ # The commit message to include in the commit information for the merge.
+ #
+ # @option params [String] :author_name
+ # The name of the author who created the commit. This information will
+ # be used as both the author and committer for the commit.
+ #
+ # @option params [String] :email
+ # The email address of the person merging the branches. This information
+ # will be used in the commit information for the merge.
+ #
+ # @option params [Boolean] :keep_empty_folders
+ # If the commit contains deletions, whether to keep a folder or folder
+ # structure if the changes leave the folders empty. If this is specified
+ # as true, a .gitkeep file will be created for empty folders. The
+ # default is false.
+ #
+ # @option params [Types::ConflictResolution] :conflict_resolution
+ # A list of inputs to use when resolving conflicts during a merge if
+ # AUTOMERGE is chosen as the conflict resolution strategy.
+ #
+ # @return [Types::MergePullRequestBySquashOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::MergePullRequestBySquashOutput#pull_request #pull_request} => Types::PullRequest
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.merge_pull_request_by_squash({
+ # pull_request_id: "PullRequestId", # required
+ # repository_name: "RepositoryName", # required
+ # source_commit_id: "ObjectId",
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # commit_message: "Message",
+ # author_name: "Name",
+ # email: "Email",
+ # keep_empty_folders: false,
+ # conflict_resolution: {
+ # replace_contents: [
+ # {
+ # file_path: "Path", # required
+ # replacement_type: "KEEP_BASE", # required, accepts KEEP_BASE, KEEP_SOURCE, KEEP_DESTINATION, USE_NEW_CONTENT
+ # content: "data",
+ # file_mode: "EXECUTABLE", # accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # delete_files: [
+ # {
+ # file_path: "Path", # required
+ # },
+ # ],
+ # set_file_modes: [
+ # {
+ # file_path: "Path", # required
+ # file_mode: "EXECUTABLE", # required, accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.pull_request.pull_request_id #=> String
+ # resp.pull_request.title #=> String
+ # resp.pull_request.description #=> String
+ # resp.pull_request.last_activity_date #=> Time
+ # resp.pull_request.creation_date #=> Time
+ # resp.pull_request.pull_request_status #=> String, one of "OPEN", "CLOSED"
+ # resp.pull_request.author_arn #=> String
+ # resp.pull_request.pull_request_targets #=> Array
+ # resp.pull_request.pull_request_targets[0].repository_name #=> String
+ # resp.pull_request.pull_request_targets[0].source_reference #=> String
+ # resp.pull_request.pull_request_targets[0].destination_reference #=> String
+ # resp.pull_request.pull_request_targets[0].destination_commit #=> String
+ # resp.pull_request.pull_request_targets[0].source_commit #=> String
+ # resp.pull_request.pull_request_targets[0].merge_base #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
+ # resp.pull_request.client_request_token #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestBySquash AWS API Documentation
+ #
+ # @overload merge_pull_request_by_squash(params = {})
+ # @param [Hash] params ({})
+ def merge_pull_request_by_squash(params = {}, options = {})
+ req = build_request(:merge_pull_request_by_squash, params)
+ req.send_request(options)
+ end
+
+ # Closes a pull request and attempts to merge the source commit of a
+ # pull request into the specified destination branch for that pull
+ # request at the specified commit using the three-way merge strategy.
+ #
+ # @option params [required, String] :pull_request_id
+ # The system-generated ID of the pull request. To get this ID, use
+ # ListPullRequests.
+ #
+ # @option params [required, String] :repository_name
+ # The name of the repository where the pull request was created.
+ #
+ # @option params [String] :source_commit_id
+ # The full commit ID of the original or updated commit in the pull
+ # request source branch. Pass this value if you want an exception thrown
+ # if the current commit ID of the tip of the source branch does not
+ # match this commit ID.
+ #
+ # @option params [String] :conflict_detail_level
+ # The level of conflict detail to use. If unspecified, the default
+ # FILE\_LEVEL is used, which will return a not mergeable result if the
+ # same file has differences in both branches. If LINE\_LEVEL is
+ # specified, a conflict will be considered not mergeable if the same
+ # file in both branches has differences on the same line.
+ #
+ # @option params [String] :conflict_resolution_strategy
+ # 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 will be successful.
+ #
+ # @option params [String] :commit_message
+ # The commit message to include in the commit information for the merge.
+ #
+ # @option params [String] :author_name
+ # The name of the author who created the commit. This information will
+ # be used as both the author and committer for the commit.
+ #
+ # @option params [String] :email
+ # The email address of the person merging the branches. This information
+ # will be used in the commit information for the merge.
+ #
+ # @option params [Boolean] :keep_empty_folders
+ # If the commit contains deletions, whether to keep a folder or folder
+ # structure if the changes leave the folders empty. If this is specified
+ # as true, a .gitkeep file will be created for empty folders. The
+ # default is false.
+ #
+ # @option params [Types::ConflictResolution] :conflict_resolution
+ # A list of inputs to use when resolving conflicts during a merge if
+ # AUTOMERGE is chosen as the conflict resolution strategy.
+ #
+ # @return [Types::MergePullRequestByThreeWayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::MergePullRequestByThreeWayOutput#pull_request #pull_request} => Types::PullRequest
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.merge_pull_request_by_three_way({
+ # pull_request_id: "PullRequestId", # required
+ # repository_name: "RepositoryName", # required
+ # source_commit_id: "ObjectId",
+ # conflict_detail_level: "FILE_LEVEL", # accepts FILE_LEVEL, LINE_LEVEL
+ # conflict_resolution_strategy: "NONE", # accepts NONE, ACCEPT_SOURCE, ACCEPT_DESTINATION, AUTOMERGE
+ # commit_message: "Message",
+ # author_name: "Name",
+ # email: "Email",
+ # keep_empty_folders: false,
+ # conflict_resolution: {
+ # replace_contents: [
+ # {
+ # file_path: "Path", # required
+ # replacement_type: "KEEP_BASE", # required, accepts KEEP_BASE, KEEP_SOURCE, KEEP_DESTINATION, USE_NEW_CONTENT
+ # content: "data",
+ # file_mode: "EXECUTABLE", # accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # delete_files: [
+ # {
+ # file_path: "Path", # required
+ # },
+ # ],
+ # set_file_modes: [
+ # {
+ # file_path: "Path", # required
+ # file_mode: "EXECUTABLE", # required, accepts EXECUTABLE, NORMAL, SYMLINK
+ # },
+ # ],
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.pull_request.pull_request_id #=> String
+ # resp.pull_request.title #=> String
+ # resp.pull_request.description #=> String
+ # resp.pull_request.last_activity_date #=> Time
+ # resp.pull_request.creation_date #=> Time
+ # resp.pull_request.pull_request_status #=> String, one of "OPEN", "CLOSED"
+ # resp.pull_request.author_arn #=> String
+ # resp.pull_request.pull_request_targets #=> Array
+ # resp.pull_request.pull_request_targets[0].repository_name #=> String
+ # resp.pull_request.pull_request_targets[0].source_reference #=> String
+ # resp.pull_request.pull_request_targets[0].destination_reference #=> String
+ # resp.pull_request.pull_request_targets[0].destination_commit #=> String
+ # resp.pull_request.pull_request_targets[0].source_commit #=> String
+ # resp.pull_request.pull_request_targets[0].merge_base #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
+ # resp.pull_request.client_request_token #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByThreeWay AWS API Documentation
+ #
+ # @overload merge_pull_request_by_three_way(params = {})
+ # @param [Hash] params ({})
+ def merge_pull_request_by_three_way(params = {}, options = {})
+ req = build_request(:merge_pull_request_by_three_way, params)
+ req.send_request(options)
+ end
+
# Posts a comment on the comparison between two commits.
#
# @option params [required, String] :repository_name
# The name of the repository where you want to post a comment on the
# comparison between commits.
@@ -2336,10 +3359,12 @@
# resp.pull_request.pull_request_targets[0].destination_commit #=> String
# resp.pull_request.pull_request_targets[0].source_commit #=> String
# resp.pull_request.pull_request_targets[0].merge_base #=> String
# resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
# resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
# resp.pull_request.client_request_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestDescription AWS API Documentation
#
# @overload update_pull_request_description(params = {})
@@ -2387,10 +3412,12 @@
# resp.pull_request.pull_request_targets[0].destination_commit #=> String
# resp.pull_request.pull_request_targets[0].source_commit #=> String
# resp.pull_request.pull_request_targets[0].merge_base #=> String
# resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
# resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
# resp.pull_request.client_request_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus AWS API Documentation
#
# @overload update_pull_request_status(params = {})
@@ -2437,10 +3464,12 @@
# resp.pull_request.pull_request_targets[0].destination_commit #=> String
# resp.pull_request.pull_request_targets[0].source_commit #=> String
# resp.pull_request.pull_request_targets[0].merge_base #=> String
# resp.pull_request.pull_request_targets[0].merge_metadata.is_merged #=> Boolean
# resp.pull_request.pull_request_targets[0].merge_metadata.merged_by #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_commit_id #=> String
+ # resp.pull_request.pull_request_targets[0].merge_metadata.merge_option #=> String, one of "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE"
# resp.pull_request.client_request_token #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestTitle AWS API Documentation
#
# @overload update_pull_request_title(params = {})
@@ -2533,10 +3562,10 @@
operation: config.api.operation(operation_name),
client: self,
params: params,
config: config)
context[:gem_name] = 'aws-sdk-codecommit'
- context[:gem_version] = '1.21.0'
+ context[:gem_version] = '1.22.0'
Seahorse::Client::Request.new(handlers, context)
end
# @api private
# @deprecated