summaryrefslogtreecommitdiff
path: root/app/services/merge_requests/get_urls_service.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2016-08-11 19:39:18 -0500
committerDouwe Maan <douwe@selenight.nl>2016-08-12 17:51:54 -0500
commit8779da45033d82f8f10d1fa6ca51d59d54d0ed2c (patch)
tree6d1c829152c0296dbb405e6195a4ecc5d5b3694d /app/services/merge_requests/get_urls_service.rb
parent11eefba891f214eefc1efa334adbcc9e979c0ce3 (diff)
downloadgitlab-ce-8779da45033d82f8f10d1fa6ca51d59d54d0ed2c.tar.gz
Don't show new MR URL after push when it doesn't make sense
Diffstat (limited to 'app/services/merge_requests/get_urls_service.rb')
-rw-r--r--app/services/merge_requests/get_urls_service.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/app/services/merge_requests/get_urls_service.rb b/app/services/merge_requests/get_urls_service.rb
index 501fd135e16..08c1f72d65a 100644
--- a/app/services/merge_requests/get_urls_service.rb
+++ b/app/services/merge_requests/get_urls_service.rb
@@ -30,10 +30,21 @@ module MergeRequests
end
def get_branches(changes)
+ return [] if project.empty_repo?
+ return [] unless project.merge_requests_enabled
+
changes_list = Gitlab::ChangesList.new(changes)
changes_list.map do |change|
next unless Gitlab::Git.branch_ref?(change[:ref])
- Gitlab::Git.branch_name(change[:ref])
+
+ # Deleted branch
+ next if Gitlab::Git.blank_ref?(change[:newrev])
+
+ # Default branch
+ branch_name = Gitlab::Git.branch_name(change[:ref])
+ next if branch_name == project.default_branch
+
+ branch_name
end.compact
end