Skip to content
Snippets Groups Projects
Unverified Commit f0116f13 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Store commit count in project table

parent 67ca5a53
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -276,4 +276,18 @@ module ProjectsHelper
def readme_cache_key
[@project.id, @project.commit.sha, "readme"].join('-')
end
def round_commit_count(project)
count = project.commit_count
if count > 10000
'10000+'
elsif count > 5000
'5000+'
elsif count > 1000
'1000+'
else
count
end
end
end
Loading
Loading
@@ -683,6 +683,10 @@ class Project < ActiveRecord::Base
update_attribute(:repository_size, repository.size)
end
 
def update_commit_count
update_attribute(:commit_count, repository.commit_count)
end
def forks_count
ForkedProjectLink.where(forked_from_project_id: self.id).count
end
Loading
Loading
Loading
Loading
@@ -94,18 +94,6 @@ class Repository
gitlab_shell.rm_tag(path_with_namespace, tag_name)
end
 
def round_commit_count
if commit_count > 10000
'10000+'
elsif commit_count > 5000
'5000+'
elsif commit_count > 1000
'1000+'
else
commit_count
end
end
def branch_names
cache.fetch(:branch_names) { raw_repository.branch_names }
end
Loading
Loading
Loading
Loading
@@ -21,7 +21,6 @@ class GitPushService
 
project.ensure_satellite_exists
project.repository.expire_cache
project.update_repository_size
 
if push_remove_branch?(ref, newrev)
@push_commits = []
Loading
Loading
Loading
Loading
@@ -14,7 +14,7 @@
 
.repo-info
- unless project.empty_repo?
= link_to pluralize(project.repository.round_commit_count, 'commit'), namespace_project_commits_path(project.namespace, project, project.default_branch)
= link_to pluralize(round_commit_count(project), 'commit'), namespace_project_commits_path(project.namespace, project, project.default_branch)
&middot;
= link_to pluralize(project.repository.branch_names.count, 'branch'), namespace_project_branches_path(project.namespace, project)
&middot;
Loading
Loading
Loading
Loading
@@ -13,7 +13,7 @@
%ul.nav.nav-pills
%li
= link_to namespace_project_commits_path(@project.namespace, @project, @ref || @repository.root_ref) do
= pluralize(number_with_delimiter(@repository.commit_count), 'commit')
= pluralize(number_with_delimiter(@project.commit_count), 'commit')
%li
= link_to namespace_project_branches_path(@project.namespace, @project) do
= pluralize(number_with_delimiter(@repository.branch_names.count), 'branch')
Loading
Loading
Loading
Loading
@@ -4,6 +4,9 @@ class ProjectCacheWorker
sidekiq_options queue: :default
 
def perform(project_id)
Project.find(project_id).repository.build_cache
project = Project.find(project_id)
project.update_repository_size
project.update_commit_count
project.repository.build_cache
end
end
Loading
Loading
@@ -28,7 +28,7 @@ class RepositoryImportWorker
project.import_finish
project.save
project.satellite.create unless project.satellite.exists?
project.update_repository_size
ProjectCacheWorker.perform_async(project.id)
Gitlab::BitbucketImport::KeyDeleter.new(project).execute if project.import_type == 'bitbucket'
end
end
class AddCommitsCountToProject < ActiveRecord::Migration
def change
add_column :projects, :commit_count, :integer, default: 0
end
end
Loading
Loading
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
 
ActiveRecord::Schema.define(version: 20150713160110) do
ActiveRecord::Schema.define(version: 20150717130904) do
 
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
Loading
Loading
@@ -374,6 +374,7 @@ ActiveRecord::Schema.define(version: 20150713160110) do
t.integer "star_count", default: 0, null: false
t.string "import_type"
t.string "import_source"
t.integer "commit_count", default: 0
end
 
add_index "projects", ["created_at", "id"], name: "index_projects_on_created_at_and_id", using: :btree
Loading
Loading
Loading
Loading
@@ -20,6 +20,10 @@ class RepositoryCache
end
 
def exist?(key)
backend.exist?(key)
backend.exist?(cache_key(key))
end
def read(key)
backend.read(cache_key(key))
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment