Commit 4491a3d1 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Decline push if repository does not exist

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 7cefd9c6
...@@ -49,8 +49,17 @@ module Gitlab ...@@ -49,8 +49,17 @@ module Gitlab
end end
def push_access_check(user, project, changes) def push_access_check(user, project, changes)
return build_status_object(false, "You don't have access") unless user && user_allowed?(user) unless user && user_allowed?(user)
return build_status_object(true) if changes.blank? return build_status_object(false, "You don't have access")
end
if changes.blank?
return build_status_object(true)
end
unless project.repository.exists?
return build_status_object(false, "Repository does not exist")
end
changes = changes.lines if changes.kind_of?(String) changes = changes.lines if changes.kind_of?(String)
...@@ -79,7 +88,7 @@ module Gitlab ...@@ -79,7 +88,7 @@ module Gitlab
else else
:push_code_to_protected_branches :push_code_to_protected_branches
end end
elsif project.repository && project.repository.tag_names.include?(tag_name(ref)) elsif project.repository.tag_names.include?(tag_name(ref))
# Prevent any changes to existing git tag unless user has permissions # Prevent any changes to existing git tag unless user has permissions
:admin_project :admin_project
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment