Add "rake gitlab:list_repos" task
This commit is contained in:
parent
6055c507cc
commit
7a8a892efd
|
@ -0,0 +1,30 @@
|
||||||
|
# Listing repository directories
|
||||||
|
|
||||||
|
You can print a list of all Git repositories on disk managed by
|
||||||
|
GitLab with the following command:
|
||||||
|
|
||||||
|
```
|
||||||
|
# Omnibus
|
||||||
|
sudo gitlab-rake gitlab:list_repos
|
||||||
|
|
||||||
|
# Source
|
||||||
|
cd /home/git/gitlab
|
||||||
|
sudo -u git -H bundle exec rake gitlab:list_repos RAILS_ENV=production
|
||||||
|
```
|
||||||
|
|
||||||
|
If you only want to list projects with recent activity you can pass
|
||||||
|
a date with the 'SINCE' environment variable. The time you specify
|
||||||
|
is parsed by the Rails [TimeZone#parse
|
||||||
|
function](http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html#method-i-parse).
|
||||||
|
|
||||||
|
```
|
||||||
|
# Omnibus
|
||||||
|
sudo gitlab-rake gitlab:list_repos SINCE='Sep 1 2015'
|
||||||
|
|
||||||
|
# Source
|
||||||
|
cd /home/git/gitlab
|
||||||
|
sudo -u git -H bundle exec rake gitlab:list_repos RAILS_ENV=production SINCE='Sep 1 2015'
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that the projects listed are NOT sorted by activity; they use
|
||||||
|
the default ordering of the GitLab Rails application.
|
|
@ -0,0 +1,16 @@
|
||||||
|
namespace :gitlab do
|
||||||
|
task list_repos: :environment do
|
||||||
|
scope = Project
|
||||||
|
if ENV['SINCE']
|
||||||
|
date = Time.parse(ENV['SINCE'])
|
||||||
|
warn "Listing repositories with activity since #{date}"
|
||||||
|
project_ids = Project.where(['last_activity_at > ?', date]).pluck(:id)
|
||||||
|
scope = scope.where(id: project_ids)
|
||||||
|
end
|
||||||
|
scope.find_each do |project|
|
||||||
|
base = File.join(Gitlab.config.gitlab_shell.repos_path, project.path_with_namespace)
|
||||||
|
puts base + '.git'
|
||||||
|
puts base + '.wiki.git'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue