Commit 56fc53e8d870b70ca66332daeb6da39ab0eb5ce7
1 parent
bc0155fb
Exists in
master
and in
4 other branches
Automatically write hooks when updating a repository.
Showing
1 changed file
with
9 additions
and
2 deletions
Show diff stats
app/models/repository.rb
| @@ -31,8 +31,13 @@ class Repository | @@ -31,8 +31,13 @@ class Repository | ||
| 31 | project.id | 31 | project.id |
| 32 | end | 32 | end |
| 33 | 33 | ||
| 34 | - # repo.update_hook('post-receive', File.read('some-hook')) | ||
| 35 | - def update_hook(name, content) | 34 | + def write_hooks |
| 35 | + %w(post-receive).each do |hook| | ||
| 36 | + write_hook(hook, File.read(File.join(Rails.root, 'lib', "#{hook}-hook"))) | ||
| 37 | + end | ||
| 38 | + end | ||
| 39 | + | ||
| 40 | + def write_hook(name, content) | ||
| 36 | hook_file = File.join(project.path_to_repo, 'hooks', name) | 41 | hook_file = File.join(project.path_to_repo, 'hooks', name) |
| 37 | 42 | ||
| 38 | File.open(hook_file, 'w') do |f| | 43 | File.open(hook_file, 'w') do |f| |
| @@ -58,6 +63,8 @@ class Repository | @@ -58,6 +63,8 @@ class Repository | ||
| 58 | Gitlabhq::GitHost.system.new.configure do |c| | 63 | Gitlabhq::GitHost.system.new.configure do |c| |
| 59 | c.update_project(path, project) | 64 | c.update_project(path, project) |
| 60 | end | 65 | end |
| 66 | + | ||
| 67 | + write_hooks | ||
| 61 | end | 68 | end |
| 62 | 69 | ||
| 63 | def destroy_repository | 70 | def destroy_repository |