Merge branch 'remove-main-language' into 'master'
Remove main_language and tests. Closes #14937 See merge request !4293
This commit is contained in:
commit
85495c8c85
8 changed files with 23 additions and 83 deletions
|
@ -10,6 +10,7 @@ v 8.9.0 (unreleased)
|
|||
- Changed the Slack build message to use the singular duration if necessary (Aran Koning)
|
||||
- Fix issues filter when ordering by milestone
|
||||
- Todos will display target state if issuable target is 'Closed' or 'Merged'
|
||||
- Remove 'main language' feature
|
||||
|
||||
v 8.8.2
|
||||
- Added remove due date button. !4209
|
||||
|
|
|
@ -972,12 +972,6 @@ class Repository
|
|||
end
|
||||
end
|
||||
|
||||
def main_language
|
||||
return unless head_exists?
|
||||
|
||||
Linguist::Repository.new(rugged, rugged.head.target_id).language
|
||||
end
|
||||
|
||||
def avatar
|
||||
return nil unless exists?
|
||||
|
||||
|
|
|
@ -53,10 +53,6 @@ class GitPushService < BaseService
|
|||
# could cause the last commit of a merge request to change.
|
||||
update_merge_requests
|
||||
|
||||
# Checks if the main language has changed in the project and if so
|
||||
# it updates it accordingly
|
||||
update_main_language
|
||||
|
||||
perform_housekeeping
|
||||
end
|
||||
|
||||
|
@ -64,19 +60,6 @@ class GitPushService < BaseService
|
|||
@project.repository.copy_gitattributes(params[:ref])
|
||||
end
|
||||
|
||||
def update_main_language
|
||||
# Performance can be bad so for now only check main_language once
|
||||
# See https://gitlab.com/gitlab-org/gitlab-ce/issues/14937
|
||||
return if @project.main_language.present?
|
||||
|
||||
return unless is_default_branch?
|
||||
return unless push_to_new_branch? || push_to_existing_branch?
|
||||
|
||||
current_language = @project.repository.main_language
|
||||
@project.update_attributes(main_language: current_language)
|
||||
true
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def update_merge_requests
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
%li.project-row{ class: css_class }
|
||||
= cache(cache_key) do
|
||||
.controls
|
||||
- if project.main_language
|
||||
%span
|
||||
= project.main_language
|
||||
- if project.commit.try(:status)
|
||||
%span
|
||||
= render_commit_status(project.commit)
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
||||
# for more information on how to write migrations for GitLab.
|
||||
|
||||
class RemoveMainLanguageFromProjects < ActiveRecord::Migration
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||
# you must disable the use of transactions as these methods can not run in an
|
||||
# existing transaction. When using "add_concurrent_index" make sure that this
|
||||
# method is the _only_ method called in the migration, any other changes
|
||||
# should go in a separate migration. This ensures that upon failure _only_ the
|
||||
# index creation fails and can be retried or reverted easily.
|
||||
#
|
||||
# To disable transactions uncomment the following line and remove these
|
||||
# comments:
|
||||
# disable_ddl_transaction!
|
||||
|
||||
def change
|
||||
remove_column :projects, :main_language
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20160516174813) do
|
||||
ActiveRecord::Schema.define(version: 20160525205328) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -760,7 +760,6 @@ ActiveRecord::Schema.define(version: 20160516174813) do
|
|||
t.integer "build_timeout", default: 3600, null: false
|
||||
t.boolean "pending_delete", default: false
|
||||
t.boolean "public_builds", default: true, null: false
|
||||
t.string "main_language"
|
||||
t.integer "pushes_since_gc", default: 0
|
||||
t.boolean "last_repository_check_failed"
|
||||
t.datetime "last_repository_check_at"
|
||||
|
|
|
@ -829,18 +829,6 @@ describe Repository, models: true do
|
|||
end
|
||||
end
|
||||
|
||||
describe "#main_language" do
|
||||
it 'shows the main language of the project' do
|
||||
expect(repository.main_language).to eq("Ruby")
|
||||
end
|
||||
|
||||
it 'returns nil when the repository is empty' do
|
||||
allow(repository).to receive(:empty?).and_return(true)
|
||||
|
||||
expect(repository.main_language).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
describe '#before_remove_tag' do
|
||||
it 'flushes the tag cache' do
|
||||
expect(repository).to receive(:expire_tag_count_cache)
|
||||
|
|
|
@ -158,49 +158,6 @@ describe GitPushService, services: true do
|
|||
end
|
||||
end
|
||||
|
||||
describe "Updates main language" do
|
||||
context "before push" do
|
||||
it { expect(project.main_language).to eq(nil) }
|
||||
end
|
||||
|
||||
context "after push" do
|
||||
def execute
|
||||
execute_service(project, user, @oldrev, @newrev, ref)
|
||||
end
|
||||
|
||||
context "to master" do
|
||||
let(:ref) { @ref }
|
||||
|
||||
context 'when main_language is nil' do
|
||||
it 'obtains the language from the repository' do
|
||||
expect(project.repository).to receive(:main_language)
|
||||
execute
|
||||
end
|
||||
|
||||
it 'sets the project main language' do
|
||||
execute
|
||||
expect(project.main_language).to eq("Ruby")
|
||||
end
|
||||
end
|
||||
|
||||
context 'when main_language is already set' do
|
||||
it 'does not check the repository' do
|
||||
execute # do an initial run to simulate lang being preset
|
||||
expect(project.repository).not_to receive(:main_language)
|
||||
execute
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "to other branch" do
|
||||
let(:ref) { 'refs/heads/feature/branch' }
|
||||
|
||||
it { expect(project.main_language).to eq(nil) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
describe "Updates git attributes" do
|
||||
context "for default branch" do
|
||||
it "calls the copy attributes method for the first push to the default branch" do
|
||||
|
|
Loading…
Reference in a new issue