Some fixes and refactors for code related to forks.
This commit is contained in:
parent
11345866d8
commit
2ea5b37f2e
3 changed files with 27 additions and 6 deletions
|
@ -124,6 +124,8 @@ module CommitsHelper
|
|||
end
|
||||
|
||||
def revert_commit_link(show_modal_condition, continue_to_path)
|
||||
return unless current_user
|
||||
|
||||
if show_modal_condition
|
||||
link_to('Revert', '#modal-revert-commit',
|
||||
'data-target' => '#modal-revert-commit',
|
||||
|
|
|
@ -628,8 +628,6 @@ class Repository
|
|||
args = [commit.id, source_sha]
|
||||
args << { mainline: 1 } if commit.merge_commit?
|
||||
|
||||
# Temporary branch exists and contains the revert commit
|
||||
return true if (base_branch != target_branch) && find_branch(target_branch)
|
||||
return false unless diff_exists?(source_sha, commit.id)
|
||||
|
||||
revert_index = rugged.revert_commit(*args)
|
||||
|
|
|
@ -14,9 +14,7 @@ module Commits
|
|||
if commit
|
||||
success
|
||||
else
|
||||
error("Sorry, we cannot revert this #{params[:revert_type_title]} automatically.
|
||||
It may have already been reverted, or a more recent commit may
|
||||
have updated some of its content.")
|
||||
custom_error
|
||||
end
|
||||
rescue Repository::CommitError, Gitlab::Git::Repository::InvalidBlobName, GitHooksService::PreReceiveError, ValidationError => ex
|
||||
error(ex.message)
|
||||
|
@ -24,7 +22,11 @@ module Commits
|
|||
|
||||
def commit
|
||||
if @create_merge_request
|
||||
repository.revert(current_user, @commit, @target_branch, @commit.revert_branch_name)
|
||||
# Temporary branch exists and contains the revert commit
|
||||
return true if repository.find_branch(@commit.revert_branch_name)
|
||||
return false unless create_target_branch
|
||||
|
||||
repository.revert(current_user, @commit, @commit.revert_branch_name)
|
||||
else
|
||||
repository.revert(current_user, @commit, @target_branch)
|
||||
end
|
||||
|
@ -32,6 +34,25 @@ module Commits
|
|||
|
||||
private
|
||||
|
||||
def custom_error
|
||||
if @branch_error_msg
|
||||
error("There was an error creating the source branch: #{@branch_error_msg}")
|
||||
else
|
||||
error("Sorry, we cannot revert this #{params[:revert_type_title]} automatically.
|
||||
It may have already been reverted, or a more recent commit may
|
||||
have updated some of its content.")
|
||||
end
|
||||
end
|
||||
|
||||
def create_target_branch
|
||||
result = CreateBranchService.new(@project, current_user)
|
||||
.execute(@commit.revert_branch_name, @target_branch, source_project: @source_project)
|
||||
|
||||
@branch_error_msg = result[:message]
|
||||
|
||||
result[:status] != :error
|
||||
end
|
||||
|
||||
def raise_error(message)
|
||||
raise ValidationError.new(message)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue