diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-11-21 09:04:32 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-11-21 09:04:32 +0200 |
commit | 3ab33fcfca85e65931844124bda83148b6e27f69 (patch) | |
tree | 7d5fd8ef96497bff54f0f890c78f97a4b2bdc192 | |
parent | b39002ce8861c1c76806501309ff159d4d65f375 (diff) | |
download | gitlab-ce-3ab33fcfca85e65931844124bda83148b6e27f69.tar.gz |
Add post-receive file content validation
-rw-r--r-- | lib/tasks/gitlab/status.rake | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/tasks/gitlab/status.rake b/lib/tasks/gitlab/status.rake index 508c41a23a3..cbc77abb97a 100644 --- a/lib/tasks/gitlab/status.rake +++ b/lib/tasks/gitlab/status.rake @@ -2,7 +2,7 @@ namespace :gitlab do namespace :app do desc "GITLAB | Check GitLab installation status" task :status => :environment do - puts "Starting diagnostics".yellow + puts "\nStarting diagnostics".yellow git_base_path = Gitlab.config.git_base_path print "config/database.yml............" @@ -86,17 +86,24 @@ namespace :gitlab do end if Project.count > 0 - puts "Validating projects repositories:".yellow + puts "\nValidating projects repositories:".yellow Project.find_each(:batch_size => 100) do |project| - print "#{project.name}....." + print "* #{project.name}....." hook_file = File.join(project.path_to_repo, 'hooks', 'post-receive') unless File.exists?(hook_file) puts "post-receive file missing".red - return + next end - puts "post-receive file ok".green + original_content = File.read(Rails.root.join('lib', 'hooks', 'post-receive')) + new_content = File.read(hook_file) + + if original_content == new_content + puts "post-receive file ok".green + else + puts "post-receive file content does not match".red + end end end |