Dont allow remove of protected branch

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
Dmitriy Zaporozhets 2014-05-22 15:38:47 +03:00
parent a9d60b3b14
commit 36cac35b24
No known key found for this signature in database
GPG key ID: 627C5F589F467F17

View file

@ -44,14 +44,18 @@ module Gitlab
def push_allowed?(user, project, ref, oldrev, newrev, forced_push) def push_allowed?(user, project, ref, oldrev, newrev, forced_push)
if user && user_allowed?(user) if user && user_allowed?(user)
action = if project.protected_branch?(ref) action = if project.protected_branch?(ref)
if forced_push.to_s == 'true' # we dont allow force push to protected branch
:force_push_code_to_protected_branches if forced_push.to_s == 'true'
else :force_push_code_to_protected_branches
:push_code_to_protected_branches # and we dont allow remove of protected branch
end elsif newrev =~ /0000000/
else :remove_protected_branches
:push_code else
end :push_code_to_protected_branches
end
else
:push_code
end
user.can?(action, project) user.can?(action, project)
else else
false false