diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-11-08 09:02:43 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-11-08 09:02:43 +0000 |
commit | ea4cf98ce37c011a3c2daf09d0d89add66b2598a (patch) | |
tree | 1cc7cb9ab121113dc806e96a99c1401169aeef50 | |
parent | de614b0e1af598d924753497f398f0379a0c1877 (diff) | |
parent | ca3c86856722ec94c30669cb1fa684c68ff80930 (diff) | |
download | gitlab-ce-ea4cf98ce37c011a3c2daf09d0d89add66b2598a.tar.gz |
Merge branch 'tc-delete-merged-protected-tags-fix' into 'master'
When deleting merged branches, ignore protected tags
Closes #39732
See merge request gitlab-org/gitlab-ce!15252
-rw-r--r-- | app/services/delete_merged_branches_service.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/tc-delete-merged-protected-tags-fix.yml | 5 | ||||
-rw-r--r-- | spec/services/delete_merged_branches_service_spec.rb | 8 |
3 files changed, 14 insertions, 1 deletions
diff --git a/app/services/delete_merged_branches_service.rb b/app/services/delete_merged_branches_service.rb index 077268b2388..cb235a85daf 100644 --- a/app/services/delete_merged_branches_service.rb +++ b/app/services/delete_merged_branches_service.rb @@ -13,7 +13,7 @@ class DeleteMergedBranchesService < BaseService # Prevent deletion of branches relevant to open merge requests branches -= merge_request_branch_names # Prevent deletion of protected branches - branches = branches.reject { |branch| project.protected_for?(branch) } + branches = branches.reject { |branch| ProtectedBranch.protected?(project, branch) } branches.each do |branch| DeleteBranchService.new(project, current_user).execute(branch) diff --git a/changelogs/unreleased/tc-delete-merged-protected-tags-fix.yml b/changelogs/unreleased/tc-delete-merged-protected-tags-fix.yml new file mode 100644 index 00000000000..5d5c39108b0 --- /dev/null +++ b/changelogs/unreleased/tc-delete-merged-protected-tags-fix.yml @@ -0,0 +1,5 @@ +--- +title: When deleting merged branches, ignore protected tags +merge_request: 15252 +author: +type: fixed diff --git a/spec/services/delete_merged_branches_service_spec.rb b/spec/services/delete_merged_branches_service_spec.rb index 5a9eb359ee1..0de02576203 100644 --- a/spec/services/delete_merged_branches_service_spec.rb +++ b/spec/services/delete_merged_branches_service_spec.rb @@ -42,6 +42,14 @@ describe DeleteMergedBranchesService do expect(project.repository.branch_names).to include('improve/awesome') end + it 'ignores protected tags' do + create(:protected_tag, project: project, name: 'improve/*') + + service.execute + + expect(project.repository.branch_names).not_to include('improve/awesome') + end + context 'user without rights' do let(:user) { create(:user) } |