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 | 31 | project.id |
| 32 | 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 | 41 | hook_file = File.join(project.path_to_repo, 'hooks', name) |
| 37 | 42 | |
| 38 | 43 | File.open(hook_file, 'w') do |f| |
| ... | ... | @@ -58,6 +63,8 @@ class Repository |
| 58 | 63 | Gitlabhq::GitHost.system.new.configure do |c| |
| 59 | 64 | c.update_project(path, project) |
| 60 | 65 | end |
| 66 | + | |
| 67 | + write_hooks | |
| 61 | 68 | end |
| 62 | 69 | |
| 63 | 70 | def destroy_repository | ... | ... |