Use separate error class for cherry-pick and revert tree errors
This commit is contained in:
parent
6cc4cf1e15
commit
caed61adee
2 changed files with 8 additions and 11 deletions
|
@ -6,6 +6,7 @@ class Repository
|
|||
attr_accessor :path_with_namespace, :project
|
||||
|
||||
CommitError = Class.new(StandardError)
|
||||
CreateTreeError = Class.new(StandardError)
|
||||
|
||||
# Methods that cache data from the Git repository.
|
||||
#
|
||||
|
@ -871,7 +872,7 @@ class Repository
|
|||
|
||||
revert_tree_id = check_revert_content(commit, start_commit.sha)
|
||||
unless revert_tree_id
|
||||
raise Repository::CommitError.new('Failed to revert commit')
|
||||
raise Repository::CreateTreeError.new('Failed to revert commit')
|
||||
end
|
||||
|
||||
committer = user_to_committer(user)
|
||||
|
@ -895,7 +896,7 @@ class Repository
|
|||
|
||||
cherry_pick_tree_id = check_cherry_pick_content(commit, start_commit.sha)
|
||||
unless cherry_pick_tree_id
|
||||
raise Repository::CommitError.new('Failed to cherry-pick commit')
|
||||
raise Repository::CreateTreeError.new('Failed to cherry-pick commit')
|
||||
end
|
||||
|
||||
committer = user_to_committer(user)
|
||||
|
|
|
@ -37,14 +37,10 @@ module Commits
|
|||
start_branch_name: @start_branch)
|
||||
|
||||
success
|
||||
rescue Repository::CommitError => e
|
||||
if e.message =~ /Failed to/
|
||||
error_msg = "Sorry, we cannot #{action.to_s.dasherize} this #{@commit.change_type_title(current_user)} automatically.
|
||||
rescue Repository::CreateTreeError => e
|
||||
error_msg = "Sorry, we cannot #{action.to_s.dasherize} this #{@commit.change_type_title(current_user)} automatically.
|
||||
A #{action.to_s.dasherize} may have already been performed with this #{@commit.change_type_title(current_user)}, or a more recent commit may have updated some of its content."
|
||||
raise ChangeError, error_msg
|
||||
else
|
||||
raise
|
||||
end
|
||||
raise ChangeError, error_msg
|
||||
end
|
||||
|
||||
def check_push_permissions
|
||||
|
@ -58,8 +54,8 @@ module Commits
|
|||
end
|
||||
|
||||
def validate_target_branch
|
||||
result = ValidateNewBranchService.new(@project, current_user).
|
||||
execute(@target_branch)
|
||||
result = ValidateNewBranchService.new(@project, current_user)
|
||||
.execute(@target_branch)
|
||||
|
||||
if result[:status] == :error
|
||||
raise ChangeError, "There was an error creating the source branch: #{result[:message]}"
|
||||
|
|
Loading…
Reference in a new issue