summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRubén Dávila <rdavila84@gmail.com>2016-02-09 17:16:15 -0500
committerRobert Speicher <rspeicher@gmail.com>2016-02-19 13:14:52 -0500
commit11345866d8ae3198c0f5523e8dee1e14cb21b3c7 (patch)
treefc50d46bfff7af8710dc116d3fabc51b0f264a22
parent328b52d58a36525fdc853f15877f87bcd7832d1c (diff)
downloadgitlab-ce-11345866d8ae3198c0f5523e8dee1e14cb21b3c7.tar.gz
Don't make Repository#revert aware of MRs.
-rw-r--r--app/models/repository.rb6
-rw-r--r--app/services/commits/revert_service.rb8
2 files changed, 9 insertions, 5 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index b570afaa32c..70784b3d85d 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -622,14 +622,14 @@ class Repository
merge_commit_sha
end
- def revert(user, commit, base_branch, create_mr = false)
+ def revert(user, commit, base_branch, target_branch = nil)
source_sha = find_branch(base_branch).target
- target_branch = create_mr ? commit.revert_branch_name : base_branch
+ target_branch ||= base_branch
args = [commit.id, source_sha]
args << { mainline: 1 } if commit.merge_commit?
# Temporary branch exists and contains the revert commit
- return true if create_mr && find_branch(target_branch)
+ 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)
diff --git a/app/services/commits/revert_service.rb b/app/services/commits/revert_service.rb
index fa5262b47ef..6e8a7f8eabb 100644
--- a/app/services/commits/revert_service.rb
+++ b/app/services/commits/revert_service.rb
@@ -6,7 +6,7 @@ module Commits
@source_project = params[:source_project] || @project
@target_branch = params[:target_branch]
@commit = params[:commit]
- @create_merge_request = params[:create_merge_request]
+ @create_merge_request = params[:create_merge_request].present?
# Check push permissions to branch
validate
@@ -23,7 +23,11 @@ module Commits
end
def commit
- repository.revert(current_user, @commit, @target_branch, @create_merge_request)
+ if @create_merge_request
+ repository.revert(current_user, @commit, @target_branch, @commit.revert_branch_name)
+ else
+ repository.revert(current_user, @commit, @target_branch)
+ end
end
private