Merge branch 'fix/13631-error-with-merged-mr' into 'master'
Ensure we don't check a commit's description for revert message if it has no description Fixes #13631. /cc @razer6 @grzesiek @yorickpeterse @rdavila See merge request !2917
This commit is contained in:
commit
493d166d66
2 changed files with 35 additions and 1 deletions
|
@ -232,7 +232,7 @@ class Commit
|
|||
end
|
||||
|
||||
def reverts_commit?(commit)
|
||||
description.include?(commit.revert_description)
|
||||
description? && description.include?(commit.revert_description)
|
||||
end
|
||||
|
||||
def merge_commit?
|
||||
|
|
|
@ -118,4 +118,38 @@ eos
|
|||
it { expect(data[:modified]).to eq([".gitmodules"]) }
|
||||
it { expect(data[:removed]).to eq([]) }
|
||||
end
|
||||
|
||||
describe '#reverts_commit?' do
|
||||
let(:another_commit) { double(:commit, revert_description: "This reverts commit #{commit.sha}") }
|
||||
|
||||
it { expect(commit.reverts_commit?(another_commit)).to be_falsy }
|
||||
|
||||
context 'commit has no description' do
|
||||
before { allow(commit).to receive(:description?).and_return(false) }
|
||||
|
||||
it { expect(commit.reverts_commit?(another_commit)).to be_falsy }
|
||||
end
|
||||
|
||||
context "another_commit's description does not revert commit" do
|
||||
before { allow(commit).to receive(:description).and_return("Foo Bar") }
|
||||
|
||||
it { expect(commit.reverts_commit?(another_commit)).to be_falsy }
|
||||
end
|
||||
|
||||
context "another_commit's description reverts commit" do
|
||||
before { allow(commit).to receive(:description).and_return("Foo #{another_commit.revert_description} Bar") }
|
||||
|
||||
it { expect(commit.reverts_commit?(another_commit)).to be_truthy }
|
||||
end
|
||||
|
||||
context "another_commit's description reverts merged merge request" do
|
||||
before do
|
||||
revert_description = "This reverts merge request !foo123"
|
||||
allow(another_commit).to receive(:revert_description).and_return(revert_description)
|
||||
allow(commit).to receive(:description).and_return("Foo #{another_commit.revert_description} Bar")
|
||||
end
|
||||
|
||||
it { expect(commit.reverts_commit?(another_commit)).to be_truthy }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue