diff options
author | Rubén Dávila <rdavila84@gmail.com> | 2016-02-09 17:16:15 -0500 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-02-19 13:14:52 -0500 |
commit | 11345866d8ae3198c0f5523e8dee1e14cb21b3c7 (patch) | |
tree | fc50d46bfff7af8710dc116d3fabc51b0f264a22 | |
parent | 328b52d58a36525fdc853f15877f87bcd7832d1c (diff) | |
download | gitlab-ce-11345866d8ae3198c0f5523e8dee1e14cb21b3c7.tar.gz |
Don't make Repository#revert aware of MRs.
-rw-r--r-- | app/models/repository.rb | 6 | ||||
-rw-r--r-- | app/services/commits/revert_service.rb | 8 |
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 |