mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-02 19:30:48 +08:00
fix: create pull request need compare
This commit is contained in:
@@ -70,6 +70,8 @@ class PullRequestsController < ApplicationController
|
||||
raise ActiveRecord::Rollback
|
||||
end
|
||||
end
|
||||
rescue => e
|
||||
normal_status(-1, e.message)
|
||||
end
|
||||
|
||||
def edit
|
||||
|
||||
@@ -13,6 +13,7 @@ class PullRequests::CreateService < ApplicationService
|
||||
def call
|
||||
ActiveRecord::Base.transaction do
|
||||
validate!
|
||||
compare_head_base!
|
||||
save_pull_issue!
|
||||
save_pull_request!
|
||||
save_issue_tags_relates!
|
||||
@@ -33,7 +34,7 @@ class PullRequests::CreateService < ApplicationService
|
||||
assigned_to_id: @params[:assigned_to_id],
|
||||
fixed_version_id: @params[:fixed_version_id],
|
||||
issue_tags_value: @params[:issue_tag_ids].present? ? @params[:issue_tag_ids].join(",") : "",
|
||||
priority_id: @params[:priority_id] || "2",
|
||||
priority_id: @params[:priority_id],
|
||||
issue_classify: "pull_request",
|
||||
issue_type: @params[:issue_type] || "1",
|
||||
tracker_id: 2,
|
||||
@@ -155,6 +156,11 @@ class PullRequests::CreateService < ApplicationService
|
||||
raise @pull_request.errors.full_messages.join(", ") unless pull_request.valid?
|
||||
end
|
||||
|
||||
def compare_head_base!
|
||||
compare_result = Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, @params[:base], @params[:head], @current_user.gitea_token)
|
||||
raise '分支内容相同,无需创建合并请求' if compare_result["Commits"].blank? && compare_result["Diff"].blank?
|
||||
end
|
||||
|
||||
def is_original
|
||||
@params[:is_original] || false
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user