|
|
|
@@ -132,8 +132,8 @@ class PullRequests::CreateService < ApplicationService |
|
|
|
end |
|
|
|
|
|
|
|
def merge_original_pull_params |
|
|
|
base_pull_params[:head] = CGI.escape(base_pull_params[:head]) |
|
|
|
base_pull_params[:base] = CGI.escape(base_pull_params[:base]) |
|
|
|
base_pull_params[:head] = Addressable::URI.escape(base_pull_params[:head]) |
|
|
|
base_pull_params[:base] = Addressable::URI.escape(base_pull_params[:base]) |
|
|
|
if pull_request.is_original && @params[:merge_user_login] |
|
|
|
base_pull_params.merge(head: "#{@params[:merge_user_login]}:#{base_pull_params[:head]}") |
|
|
|
else |
|
|
|
@@ -166,7 +166,7 @@ class PullRequests::CreateService < ApplicationService |
|
|
|
|
|
|
|
def compare_head_base! |
|
|
|
head = pull_request.is_original && @params[:merge_user_login] ? "#{@params[:merge_user_login]}/#{@project.identifier}:#{@params[:head]}" : @params[:head] |
|
|
|
compare_result = Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, CGI.escape(@params[:base]), CGI.escape(head), @current_user.gitea_token) |
|
|
|
compare_result = Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, Addressable::URI.escape(@params[:base]), Addressable::URI.escape(head), @current_user.gitea_token) |
|
|
|
raise '分支内容相同,无需创建合并请求' if compare_result["Commits"].blank? && compare_result["Diff"].blank? |
|
|
|
end |
|
|
|
|
|
|
|
|