Merge branch 'changelog-alternates' into 'master'
Allow alternative names for the CHANGELOG file. "CHANGELOG", "NEWS", "HISTORY", and "CHANGES" are recognized as Changelog files. Also adds relevant tests for each of these names. Resolves #14864. See merge request !3768
This commit is contained in:
commit
17ac7c7f72
3 changed files with 39 additions and 2 deletions
|
@ -6,6 +6,7 @@ v 8.8.0 (unreleased)
|
||||||
- Add 'l' shortcut to open Label dropdown on issuables and 'i' to create new issue on a project
|
- Add 'l' shortcut to open Label dropdown on issuables and 'i' to create new issue on a project
|
||||||
- Updated search UI
|
- Updated search UI
|
||||||
- Replace Devise Async with Devise ActiveJob integration. !3902 (Connor Shea)
|
- Replace Devise Async with Devise ActiveJob integration. !3902 (Connor Shea)
|
||||||
|
- Allow "NEWS" and "CHANGES" as alternative names for CHANGELOG. !3768 (Connor Shea)
|
||||||
|
|
||||||
v 8.7.1 (unreleased)
|
v 8.7.1 (unreleased)
|
||||||
- Throttle the update of `project.last_activity_at` to 1 minute. !3848
|
- Throttle the update of `project.last_activity_at` to 1 minute. !3848
|
||||||
|
|
|
@ -457,7 +457,7 @@ class Repository
|
||||||
def changelog
|
def changelog
|
||||||
cache.fetch(:changelog) do
|
cache.fetch(:changelog) do
|
||||||
tree(:head).blobs.find do |file|
|
tree(:head).blobs.find do |file|
|
||||||
file.name =~ /\A(changelog|history)/i
|
file.name =~ /\A(changelog|history|changes|news)/i
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -134,7 +134,43 @@ describe Repository, models: true do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#license_blob' do
|
describe "#changelog" do
|
||||||
|
before do
|
||||||
|
repository.send(:cache).expire(:changelog)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'accepts changelog' do
|
||||||
|
expect(repository.tree).to receive(:blobs).and_return([TestBlob.new('changelog')])
|
||||||
|
|
||||||
|
expect(repository.changelog.name).to eq('changelog')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'accepts news instead of changelog' do
|
||||||
|
expect(repository.tree).to receive(:blobs).and_return([TestBlob.new('news')])
|
||||||
|
|
||||||
|
expect(repository.changelog.name).to eq('news')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'accepts history instead of changelog' do
|
||||||
|
expect(repository.tree).to receive(:blobs).and_return([TestBlob.new('history')])
|
||||||
|
|
||||||
|
expect(repository.changelog.name).to eq('history')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'accepts changes instead of changelog' do
|
||||||
|
expect(repository.tree).to receive(:blobs).and_return([TestBlob.new('changes')])
|
||||||
|
|
||||||
|
expect(repository.changelog.name).to eq('changes')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'is case-insensitive' do
|
||||||
|
expect(repository.tree).to receive(:blobs).and_return([TestBlob.new('CHANGELOG')])
|
||||||
|
|
||||||
|
expect(repository.changelog.name).to eq('CHANGELOG')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#license_blob" do
|
||||||
before do
|
before do
|
||||||
repository.send(:cache).expire(:license_blob)
|
repository.send(:cache).expire(:license_blob)
|
||||||
repository.remove_file(user, 'LICENSE', 'Remove LICENSE', 'master')
|
repository.remove_file(user, 'LICENSE', 'Remove LICENSE', 'master')
|
||||||
|
|
Loading…
Reference in a new issue