summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-11-21 09:04:32 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-11-21 09:04:32 +0200
commit3ab33fcfca85e65931844124bda83148b6e27f69 (patch)
tree7d5fd8ef96497bff54f0f890c78f97a4b2bdc192
parentb39002ce8861c1c76806501309ff159d4d65f375 (diff)
downloadgitlab-ce-3ab33fcfca85e65931844124bda83148b6e27f69.tar.gz
Add post-receive file content validation
-rw-r--r--lib/tasks/gitlab/status.rake17
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