diff options
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/hooks/post-receive (renamed from lib/post-receive-hook) | 0 | ||||
-rw-r--r-- | lib/tasks/gitlab/setup.rake | 7 | ||||
-rw-r--r-- | lib/tasks/gitlab/status.rake | 6 | ||||
-rw-r--r-- | lib/tasks/gitlab/update_hooks.rake | 19 | ||||
-rw-r--r-- | lib/tasks/gitlab/write_hook.rake | 23 |
5 files changed, 29 insertions, 26 deletions
diff --git a/lib/post-receive-hook b/lib/hooks/post-receive index d38bd13e19d..d38bd13e19d 100755 --- a/lib/post-receive-hook +++ b/lib/hooks/post-receive diff --git a/lib/tasks/gitlab/setup.rake b/lib/tasks/gitlab/setup.rake index d60e73e9ac3..21ce5d7083c 100644 --- a/lib/tasks/gitlab/setup.rake +++ b/lib/tasks/gitlab/setup.rake @@ -1,7 +1,12 @@ namespace :gitlab do namespace :app do desc "GITLAB | Setup production application" - task :setup => ['db:setup', 'db:seed_fu', 'gitlab:app:enable_automerge'] + task :setup => [ + 'db:setup', + 'db:seed_fu', + 'gitlab:gitolite:write_hooks', + 'gitlab:app:enable_automerge' + ] end end diff --git a/lib/tasks/gitlab/status.rake b/lib/tasks/gitlab/status.rake index bc4e86ea648..a16b1512dde 100644 --- a/lib/tasks/gitlab/status.rake +++ b/lib/tasks/gitlab/status.rake @@ -67,12 +67,6 @@ namespace :gitlab do next end - - unless File.owned?(hook_file) - puts "post-receive file is not owner by gitlab".red - next - end - puts "post-reveice file ok".green end end diff --git a/lib/tasks/gitlab/update_hooks.rake b/lib/tasks/gitlab/update_hooks.rake deleted file mode 100644 index 44e1617e58f..00000000000 --- a/lib/tasks/gitlab/update_hooks.rake +++ /dev/null @@ -1,19 +0,0 @@ -namespace :gitlab do - namespace :gitolite do - desc "GITLAB | Rewrite hooks for repos" - task :update_hooks => :environment do - puts "Starting Projects" - Project.find_each(:batch_size => 100) do |project| - begin - if project.commit - project.write_hooks - print ".".green - end - rescue Exception => e - print e.message.red - end - end - puts "\nDone with projects" - end - end -end diff --git a/lib/tasks/gitlab/write_hook.rake b/lib/tasks/gitlab/write_hook.rake new file mode 100644 index 00000000000..098331b8cd7 --- /dev/null +++ b/lib/tasks/gitlab/write_hook.rake @@ -0,0 +1,23 @@ +namespace :gitlab do + namespace :gitolite do + desc "GITLAB | Write GITLAB hook for gitolite" + task :write_hooks => :environment do + gitolite_hooks_path = File.join("/home", Gitlab.config.ssh_user, "share", "gitolite", "hooks", "common") + gitlab_hooks_path = Rails.root.join("lib", "hooks") + + gitlab_hook_files = ['post-receive'] + + gitlab_hook_files.each do |file_name| + source = File.join(gitlab_hooks_path, file_name) + dest = File.join(gitolite_hooks_path, file_name) + + puts "sudo -u root cp #{source} #{dest}".yellow + `sudo -u root cp #{source} #{dest}` + + puts "sudo -u root chown git:git #{dest}".yellow + `sudo -u root chown git:git #{dest}` + end + end + end +end + |