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,7 +2,7 @@ namespace :gitlab do | ||
2 | namespace :app do | 2 | namespace :app do |
3 | desc "GITLAB | Check GitLab installation status" | 3 | desc "GITLAB | Check GitLab installation status" |
4 | task :status => :environment do | 4 | task :status => :environment do |
5 | - puts "Starting diagnostics".yellow | 5 | + puts "\nStarting diagnostics".yellow |
6 | git_base_path = Gitlab.config.git_base_path | 6 | git_base_path = Gitlab.config.git_base_path |
7 | 7 | ||
8 | print "config/database.yml............" | 8 | print "config/database.yml............" |
@@ -86,17 +86,24 @@ namespace :gitlab do | @@ -86,17 +86,24 @@ namespace :gitlab do | ||
86 | end | 86 | end |
87 | 87 | ||
88 | if Project.count > 0 | 88 | if Project.count > 0 |
89 | - puts "Validating projects repositories:".yellow | 89 | + puts "\nValidating projects repositories:".yellow |
90 | Project.find_each(:batch_size => 100) do |project| | 90 | Project.find_each(:batch_size => 100) do |project| |
91 | - print "#{project.name}....." | 91 | + print "* #{project.name}....." |
92 | hook_file = File.join(project.path_to_repo, 'hooks', 'post-receive') | 92 | hook_file = File.join(project.path_to_repo, 'hooks', 'post-receive') |
93 | 93 | ||
94 | unless File.exists?(hook_file) | 94 | unless File.exists?(hook_file) |
95 | puts "post-receive file missing".red | 95 | puts "post-receive file missing".red |
96 | - return | 96 | + next |
97 | end | 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 | end | 107 | end |
101 | end | 108 | end |
102 | 109 |