From c5d97c7e37fbfc4ed478da24d64d54c770ed2097 Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Sat, 19 Sep 2015 13:33:28 +0200 Subject: COPYING is now also accepted as licence file Fixes #2526 --- CHANGELOG | 2 ++ app/models/repository.rb | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 31feb115d1e..f078d08d86b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -90,6 +90,8 @@ v 8.0.1 v 8.0.0 - Fix Markdown links not showing up in dashboard activity feed (Stan Hu) - Remove milestones from merge requests when milestones are deleted (Stan Hu) +v 8.0.0 (unreleased) + - Accept COPYING as licence file (Zeger-Jan van de Weg) - Fix HTML link that was improperly escaped in new user e-mail (Stan Hu) - Fix broken sort in merge request API (Stan Hu) - Bump rouge to 1.10.1 to remove warning noise and fix other syntax highlighting bugs (Stan Hu) diff --git a/app/models/repository.rb b/app/models/repository.rb index 8b51602bc23..cc46ab916c7 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -210,9 +210,9 @@ class Repository def license cache.fetch(:license) do - tree(:head).blobs.find do |file| - file.name =~ /\Alicense/i - end + tree(:head).blobs.find_all do |file| + file.name =~ /\A(copying|license)/i + end.last # Prefer `LICENSE` as filename over `COPYING` end end -- cgit v1.2.1 From 9ec32b1cacdd411cbdcc262f7b327c6bfc552735 Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Mon, 21 Sep 2015 10:14:38 +0200 Subject: Prefer Licence over Copying --- app/models/repository.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/models/repository.rb b/app/models/repository.rb index cc46ab916c7..dc7cd926745 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -210,9 +210,13 @@ class Repository def license cache.fetch(:license) do - tree(:head).blobs.find_all do |file| - file.name =~ /\A(copying|license)/i - end.last # Prefer `LICENSE` as filename over `COPYING` + licenses = tree(:head).blobs.find_all do |file| + file.name =~ /\A(copying|license)/i + end + + # If `licence`, `copying` and `copying.lesser` are found, return in the + # following order: licence, copying, copying.lesser + licenses.find { |l| l =~ /\Alicence/i } || licenses.sort.first end end -- cgit v1.2.1 From 7248566632d5de39e7b57594dcf6e021ae912282 Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Wed, 23 Sep 2015 19:48:53 +0200 Subject: Add changelog line to right release --- CHANGELOG | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f078d08d86b..3d0beb0b7ad 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -82,6 +82,7 @@ v 8.0.2 - Fix Reply by email for non-UTF-8 messages. - Add option to use StartTLS with Reply by email IMAP server. - Allow AWS S3 Server-Side Encryption with Amazon S3-Managed Keys for backups (Paul Beattie) + - Accept COPYING as licence file (Zeger-Jan van de Weg) v 8.0.1 - Remove git refs used internally by GitLab from network graph (Stan Hu) @@ -90,8 +91,6 @@ v 8.0.1 v 8.0.0 - Fix Markdown links not showing up in dashboard activity feed (Stan Hu) - Remove milestones from merge requests when milestones are deleted (Stan Hu) -v 8.0.0 (unreleased) - - Accept COPYING as licence file (Zeger-Jan van de Weg) - Fix HTML link that was improperly escaped in new user e-mail (Stan Hu) - Fix broken sort in merge request API (Stan Hu) - Bump rouge to 1.10.1 to remove warning noise and fix other syntax highlighting bugs (Stan Hu) -- cgit v1.2.1 From 3f08e4b186bd02b37f34ccf1bc641a95f9d865ce Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Thu, 1 Oct 2015 20:34:23 +0200 Subject: Add specs on #license --- CHANGELOG | 2 +- app/models/repository.rb | 6 +++++- spec/models/repository_spec.rb | 11 +++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 3d0beb0b7ad..f274942f7b1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -62,6 +62,7 @@ v 8.0.4 - Fix "Assign All" button on Runner admin page - Fix search in Files - Add full project namespace to payload of system webhooks (Ricardo Band) + - Accept COPYING as licence file (Zeger-Jan van de Weg) v 8.0.3 - Fix URL shown in Slack notifications @@ -82,7 +83,6 @@ v 8.0.2 - Fix Reply by email for non-UTF-8 messages. - Add option to use StartTLS with Reply by email IMAP server. - Allow AWS S3 Server-Side Encryption with Amazon S3-Managed Keys for backups (Paul Beattie) - - Accept COPYING as licence file (Zeger-Jan van de Weg) v 8.0.1 - Remove git refs used internally by GitLab from network graph (Stan Hu) diff --git a/app/models/repository.rb b/app/models/repository.rb index dc7cd926745..8cd182e1b0b 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -216,7 +216,11 @@ class Repository # If `licence`, `copying` and `copying.lesser` are found, return in the # following order: licence, copying, copying.lesser - licenses.find { |l| l =~ /\Alicence/i } || licenses.sort.first + regex = [/\Alicense(\..*)?\z/i, /\Acopying(\..{0,3})?\z/i, /\Acopying.lesser/i] + + regex.map do |re| + licenses.find { |l| l.name =~ re } + end.compact.first end end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 05e51532eb8..60b93988476 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -91,4 +91,15 @@ describe Repository do it { expect(subject.data.lines[2]).to eq(" - Feature: Replace teams with group membership\n") } end end + + describe "#license" do + it 'test selection preference' do + repository.send(:cache).expire(:license) + TestBlob = Struct.new(:name) + files = [TestBlob.new('file'), TestBlob.new('license'), TestBlob.new('copying')] + expect(repository.tree).to receive(:blobs).and_return(files) + + expect(repository.license.name).to eq('license') + end + end end -- cgit v1.2.1 From a3f64b53ecb0b40c94eb0fe32b662239fff6961f Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Wed, 11 Nov 2015 13:09:23 +0100 Subject: Set changelog item to right release --- CHANGELOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 36612126c67..69a293d70d6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -32,6 +32,7 @@ v 8.2.0 (unreleased) - Fix incoming email config defaults - MR target branch is now visible on a list view when it is different from project's default one - Improve Continuous Integration graphs page + - Accept COPYING as licence file (Zeger-Jan van de Weg) v 8.1.4 - Fix bug where manually merged branches in a MR would end up with an empty diff (Stan Hu) @@ -155,7 +156,6 @@ v 8.0.4 - Fix "Assign All" button on Runner admin page - Fix search in Files - Add full project namespace to payload of system webhooks (Ricardo Band) - - Accept COPYING as licence file (Zeger-Jan van de Weg) v 8.0.3 - Fix URL shown in Slack notifications -- cgit v1.2.1 From 5fd280f3d3264aec3656cb61cd8728f2ca4d61ce Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Thu, 12 Nov 2015 17:00:39 +0100 Subject: Licence also accepted as license file --- CHANGELOG | 2 +- app/models/repository.rb | 22 +++++++++++++++------- spec/models/repository_spec.rb | 11 ++++++++++- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 69a293d70d6..891004f2ffb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -32,7 +32,7 @@ v 8.2.0 (unreleased) - Fix incoming email config defaults - MR target branch is now visible on a list view when it is different from project's default one - Improve Continuous Integration graphs page - - Accept COPYING as licence file (Zeger-Jan van de Weg) + - Accept COPYING,COPYING.lesser, and licence as license file (Zeger-Jan van de Weg) v 8.1.4 - Fix bug where manually merged branches in a MR would end up with an empty diff (Stan Hu) diff --git a/app/models/repository.rb b/app/models/repository.rb index 622d6303bfe..cc70aa2b737 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -244,16 +244,24 @@ class Repository def license cache.fetch(:license) do licenses = tree(:head).blobs.find_all do |file| - file.name =~ /\A(copying|license)/i + file.name =~ /\A(copying|license|licence)/i end - # If `licence`, `copying` and `copying.lesser` are found, return in the - # following order: licence, copying, copying.lesser - regex = [/\Alicense(\..*)?\z/i, /\Acopying(\..{0,3})?\z/i, /\Acopying.lesser/i] + preferences = [ + /\Alicen[sc]e\z/i, # LICENSE, LICENCE + /\Alicen[sc]e\./i, # LICENSE.md, LICENSE.txt + /\Acopying\z/i, # COPYING + /\Acopying\.(?!lesser)/i, # COPYING.txt + /Acopying.lesser/i # COPYING.LESSER + ] + + license = nil + preferences.each do |r| + license = licenses.find { |l| l.name =~ r } + break if license + end - regex.map do |re| - licenses.find { |l| l.name =~ re } - end.compact.first + license end end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 04437d64fee..49af0229bb5 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -102,13 +102,22 @@ describe Repository do end describe "#license" do - it 'test selection preference' do + before do repository.send(:cache).expire(:license) TestBlob = Struct.new(:name) + end + + it 'test selection preference' do files = [TestBlob.new('file'), TestBlob.new('license'), TestBlob.new('copying')] expect(repository.tree).to receive(:blobs).and_return(files) expect(repository.license.name).to eq('license') end + + it 'also accepts licence instead of license' do + expect(repository.tree).to receive(:blobs).and_return([TestBlob.new('licence')]) + + expect(repository.license.name).to eq('licence') + end end end -- cgit v1.2.1 From a2798e8d06641be61e8a44682984c2d4b123e70f Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Thu, 10 Dec 2015 16:29:25 +0100 Subject: Target right release --- CHANGELOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index b7e86bf83d3..1b0491f2641 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -28,6 +28,7 @@ v 8.3.0 (unreleased) - Automatically select default clone protocol based on user preferences (Eirik Lygre) - Make Network page as sub tab of Commits - Add copy-to-clipboard button for Snippets + - Accept COPYING,COPYING.lesser, and licence as license file (Zeger-Jan van de Weg) v 8.2.3 - Fix application settings cache not expiring after changes (Stan Hu) @@ -102,7 +103,6 @@ v 8.2.0 - Show specific runners from projects where user is master or owner - MR target branch is now visible on a list view when it is different from project's default one - Improve Continuous Integration graphs page - - Accept COPYING,COPYING.lesser, and licence as license file (Zeger-Jan van de Weg) - Make color of "Accept Merge Request" button consistent with current build status - Add ignore white space option in merge request diff and commit and compare view - Ability to add release notes (markdown text and attachments) to git tags (aka Releases) -- cgit v1.2.1