diff options
Diffstat (limited to 'app/services/projects/protect_default_branch_service.rb')
-rw-r--r-- | app/services/projects/protect_default_branch_service.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/services/projects/protect_default_branch_service.rb b/app/services/projects/protect_default_branch_service.rb index 1d3fb523448..0111b9e377a 100644 --- a/app/services/projects/protect_default_branch_service.rb +++ b/app/services/projects/protect_default_branch_service.rb @@ -22,7 +22,7 @@ module Projects # Ensure HEAD points to the default branch in case it is not master project.change_head(default_branch) - create_protected_branch if protect_branch? + create_protected_branch if protect_branch? && !protected_branch_exists? end def create_protected_branch @@ -44,6 +44,10 @@ module Projects !ProtectedBranch.protected?(project, default_branch) end + def protected_branch_exists? + project.protected_branches.find_by_name(default_branch).present? + end + def default_branch project.default_branch end |