summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-04 09:22:46 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-04 09:22:46 +0300
commitd390219c6fedc884fdd0990595cfd1d832aef4df (patch)
tree6861791d4accb379adc625bc5ef37ab16b38e1ce
parent83fd03f2ddb6b2fb2088bb9b3945fe13afb91320 (diff)
downloadgitlab-ce-d390219c6fedc884fdd0990595cfd1d832aef4df.tar.gz
Dont show 'Remove source brnach' checkbox for fork
Remove source button checkbox always try to remove branch in target project. For fork source & target projects are differents - so we hide checkbox from UI. After MR accepted you can easily remove branch with 'Remove branch' button that do remove branch call to valid project Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/views/projects/merge_requests/show/_mr_accept.html.haml2
-rw-r--r--lib/gitlab/satellite/merge_action.rb3
2 files changed, 3 insertions, 2 deletions
diff --git a/app/views/projects/merge_requests/show/_mr_accept.html.haml b/app/views/projects/merge_requests/show/_mr_accept.html.haml
index 07e05f55012..ead19ec05cf 100644
--- a/app/views/projects/merge_requests/show/_mr_accept.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_accept.html.haml
@@ -38,7 +38,7 @@
.accept-group
.pull-left
= f.submit "Accept Merge Request", class: "btn btn-create accept_merge_request"
- - if can_remove_branch?(@merge_request.source_project, @merge_request.source_branch)
+ - if can_remove_branch?(@merge_request.source_project, @merge_request.source_branch) && !@merge_request.for_fork?
.remove_branch_holder.pull-left
= label_tag :should_remove_source_branch, class: "checkbox" do
= check_box_tag :should_remove_source_branch
diff --git a/lib/gitlab/satellite/merge_action.rb b/lib/gitlab/satellite/merge_action.rb
index 5f17aa60b8b..6c32dfb3ad9 100644
--- a/lib/gitlab/satellite/merge_action.rb
+++ b/lib/gitlab/satellite/merge_action.rb
@@ -31,8 +31,9 @@ module Gitlab
# push merge back to bare repo
# will raise CommandFailed when push fails
merge_repo.git.push(default_options, :origin, merge_request.target_branch)
+
# remove source branch
- if merge_request.should_remove_source_branch && !project.root_ref?(merge_request.source_branch)
+ if merge_request.should_remove_source_branch && !project.root_ref?(merge_request.source_branch) && !merge_request.for_fork?
# will raise CommandFailed when push fails
merge_repo.git.push(default_options, :origin, ":#{merge_request.source_branch}")
end