Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2015-07-27 11:06:42 +0300
committerValery Sizov <valery@gitlab.com>2015-07-27 11:06:42 +0300
commit4a8076a35f04661235d5393d7a5379c8654ea503 (patch)
treecdff7d573397852070e3dac428e57d997fc1c2dc /lib
parente1cdc26e48831aadd261f6b0bd6755c9b8b41c89 (diff)
parentd3cae9278fe36e8c7731aa6e7aaaf33014c8df7d (diff)
Merge branch 'rake-update-commit-count' into 'master'
Add rake task 'gitlab:update_commit_count' Starting with migration `20150717130904` commit count is stored in the database. For existing projects it defaults to `0` and is updated to the correct value when commits are pushed. The newly introduced rake task updates the commit count for all projects which have not been updated yet. ![gitlab-rake-update-commit-count](https://gitlab.com/gitlab-org/gitlab-ce/uploads/4785009e0f3fc4c3199fe65dfb8e60e0/gitlab-rake-update-commit-count.png) Refs !986, !989, #2040, #2089. See merge request !1040
Diffstat (limited to 'lib')
-rw-r--r--lib/tasks/gitlab/update_commit_count.rake20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/update_commit_count.rake b/lib/tasks/gitlab/update_commit_count.rake
new file mode 100644
index 00000000000..9b636f12d9f
--- /dev/null
+++ b/lib/tasks/gitlab/update_commit_count.rake
@@ -0,0 +1,20 @@
+namespace :gitlab do
+ desc "GitLab | Update commit count for projects"
+ task update_commit_count: :environment do
+ projects = Project.where(commit_count: 0)
+ puts "#{projects.size} projects need to be updated. This might take a while."
+ ask_to_continue unless ENV['force'] == 'yes'
+
+ projects.find_each(batch_size: 100) do |project|
+ print "#{project.name_with_namespace.yellow} ... "
+
+ unless project.repo_exists?
+ puts "skipping, because the repo is empty".magenta
+ next
+ end
+
+ project.update_commit_count
+ puts project.commit_count.to_s.green
+ end
+ end
+end