summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@gitlab.com>2015-04-17 09:22:41 +0000
committerDmitriy Zaporozhets <dzaporozhets@gitlab.com>2015-04-17 09:22:41 +0000
commit5ba7a8e023befeb093532f25f32dfc7f67429d95 (patch)
tree5582056d2c105760bf2dd83157bee23633cea89a
parent5456b00f27d631fb58e230a75cfe84c7daf4e207 (diff)
parentacd80bdc2d8aa2c13f2208c90f02ec33a068313c (diff)
downloadgitlab-ce-5ba7a8e023befeb093532f25f32dfc7f67429d95.tar.gz
Merge branch 'repo-check-task' into 'master'
Add new rake task to check repo integrity Add a `gitlab:repo:check` task that checks repository integrity with `git fsck`. See #1819. See merge request !1778
-rw-r--r--CHANGELOG1
-rw-r--r--lib/tasks/gitlab/check.rake17
2 files changed, 18 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 4710d2fc53f..e5d8c8d2f16 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -25,6 +25,7 @@ v 7.10.0 (unreleased)
- Don't leak existence of group or project via search.
- Fix bug where Wiki pages that included a '/' were no longer accessible (Stan Hu)
- Fix bug where error messages from Dropzone would not be displayed on the issues page (Stan Hu)
+ - Add a rake task to check repository integrity with `git fsck`
- Add ability to configure Reply-To address in gitlab.yml (Stan Hu)
- Move current user to the top of the list in assignee/author filters (Stan Hu)
- Fix broken side-by-side diff view on merge request page (Stan Hu)
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
index d791b7155f9..04a2eb12db0 100644
--- a/lib/tasks/gitlab/check.rake
+++ b/lib/tasks/gitlab/check.rake
@@ -687,6 +687,23 @@ namespace :gitlab do
end
end
+ namespace :repo do
+ desc "GITLAB | Check the integrity of the repositories managed by GitLab"
+ task check: :environment do
+ namespace_dirs = Dir.glob(
+ File.join(Gitlab.config.gitlab_shell.repos_path, '*')
+ )
+
+ namespace_dirs.each do |namespace_dir|
+ repo_dirs = Dir.glob(File.join(namespace_dir, '*'))
+ repo_dirs.each do |dir|
+ puts "\nChecking repo at #{dir}"
+ system(*%w(git fsck), chdir: dir)
+ end
+ end
+ end
+ end
+
# Helper methods
##########################