Commit 3ab33fcfca85e65931844124bda83148b6e27f69
1 parent
b39002ce
Exists in
master
and in
4 other branches
Add post-receive file content validation
Showing
1 changed file
with
12 additions
and
5 deletions
Show diff stats
lib/tasks/gitlab/status.rake
| ... | ... | @@ -2,7 +2,7 @@ namespace :gitlab do |
| 2 | 2 | namespace :app do |
| 3 | 3 | desc "GITLAB | Check GitLab installation status" |
| 4 | 4 | task :status => :environment do |
| 5 | - puts "Starting diagnostics".yellow | |
| 5 | + puts "\nStarting diagnostics".yellow | |
| 6 | 6 | git_base_path = Gitlab.config.git_base_path |
| 7 | 7 | |
| 8 | 8 | print "config/database.yml............" |
| ... | ... | @@ -86,17 +86,24 @@ namespace :gitlab do |
| 86 | 86 | end |
| 87 | 87 | |
| 88 | 88 | if Project.count > 0 |
| 89 | - puts "Validating projects repositories:".yellow | |
| 89 | + puts "\nValidating projects repositories:".yellow | |
| 90 | 90 | Project.find_each(:batch_size => 100) do |project| |
| 91 | - print "#{project.name}....." | |
| 91 | + print "* #{project.name}....." | |
| 92 | 92 | hook_file = File.join(project.path_to_repo, 'hooks', 'post-receive') |
| 93 | 93 | |
| 94 | 94 | unless File.exists?(hook_file) |
| 95 | 95 | puts "post-receive file missing".red |
| 96 | - return | |
| 96 | + next | |
| 97 | 97 | end |
| 98 | 98 | |
| 99 | - puts "post-receive file ok".green | |
| 99 | + original_content = File.read(Rails.root.join('lib', 'hooks', 'post-receive')) | |
| 100 | + new_content = File.read(hook_file) | |
| 101 | + | |
| 102 | + if original_content == new_content | |
| 103 | + puts "post-receive file ok".green | |
| 104 | + else | |
| 105 | + puts "post-receive file content does not match".red | |
| 106 | + end | |
| 100 | 107 | end |
| 101 | 108 | end |
| 102 | 109 | ... | ... |