Hide remove source branch button when new commit is added to branch
Fixes #3339 This MR hides the 'Remove source branch' button when a new commit is added to the source branch
This commit is contained in:
parent
8d94874446
commit
c6e0228ca9
|
@ -28,6 +28,7 @@ v 8.5.0 (unreleased)
|
||||||
- Support Akismet spam checking for creation of issues via API (Stan Hu)
|
- Support Akismet spam checking for creation of issues via API (Stan Hu)
|
||||||
- Improve UI consistency between projects and groups lists
|
- Improve UI consistency between projects and groups lists
|
||||||
- Add sort dropdown to dashboard projects page
|
- Add sort dropdown to dashboard projects page
|
||||||
|
- Hide remove source branch button when the MR is merged but new commits are pushed (Zeger-Jan van de Weg)
|
||||||
|
|
||||||
v 8.4.3
|
v 8.4.3
|
||||||
- Increase lfs_objects size column to 8-byte integer to allow files larger
|
- Increase lfs_objects size column to 8-byte integer to allow files larger
|
||||||
|
|
|
@ -284,7 +284,8 @@ class MergeRequest < ActiveRecord::Base
|
||||||
def can_remove_source_branch?(current_user)
|
def can_remove_source_branch?(current_user)
|
||||||
!source_project.protected_branch?(source_branch) &&
|
!source_project.protected_branch?(source_branch) &&
|
||||||
!source_project.root_ref?(source_branch) &&
|
!source_project.root_ref?(source_branch) &&
|
||||||
Ability.abilities.allowed?(current_user, :push_code, source_project)
|
Ability.abilities.allowed?(current_user, :push_code, source_project) &&
|
||||||
|
last_commit == source_project.commit(source_branch)
|
||||||
end
|
end
|
||||||
|
|
||||||
def mr_and_commit_notes
|
def mr_and_commit_notes
|
||||||
|
|
|
@ -226,9 +226,15 @@ describe MergeRequest, models: true do
|
||||||
expect(subject.can_remove_source_branch?(user2)).to be_falsey
|
expect(subject.can_remove_source_branch?(user2)).to be_falsey
|
||||||
end
|
end
|
||||||
|
|
||||||
it "is can be removed in all other cases" do
|
it "can be removed if the last commit is the head of the source branch" do
|
||||||
|
allow(subject.source_project).to receive(:commit).and_return(subject.last_commit)
|
||||||
|
|
||||||
expect(subject.can_remove_source_branch?(user)).to be_truthy
|
expect(subject.can_remove_source_branch?(user)).to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "cannot be removed if the last commit is not also the head of the source branch" do
|
||||||
|
expect(subject.can_remove_source_branch?(user)).to be_falsey
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#reset_merge_when_build_succeeds" do
|
describe "#reset_merge_when_build_succeeds" do
|
||||||
|
|
Loading…
Reference in New Issue