Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add post-receive file content validation

  • Loading branch information...
commit 3ab33fcfca85e65931844124bda83148b6e27f69 1 parent b39002c
@randx randx authored
Showing with 12 additions and 5 deletions.
  1. +12 −5 lib/tasks/gitlab/status.rake
View
17 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
Please sign in to comment.
Something went wrong with that request. Please try again.