diff options
-rw-r--r-- | lib/gitlab_projects.rb | 19 | ||||
-rw-r--r-- | spec/gitlab_projects_spec.rb | 4 |
2 files changed, 16 insertions, 7 deletions
diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb index d726f32..154ada1 100644 --- a/lib/gitlab_projects.rb +++ b/lib/gitlab_projects.rb @@ -45,10 +45,7 @@ class GitlabProjects end def create_hooks_cmd - pr_hook_path = File.join(ROOT_PATH, 'hooks', 'post-receive') - up_hook_path = File.join(ROOT_PATH, 'hooks', 'update') - - "ln -s #{pr_hook_path} #{full_path}/hooks/post-receive && ln -s #{up_hook_path} #{full_path}/hooks/update" + create_hooks_to(full_path) end def rm_project @@ -93,8 +90,20 @@ class GitlabProjects namespaced_path = File.join(repos_path, new_namespace) return false unless File.exists?(namespaced_path) + full_destination_path = File.join(namespaced_path, project_name) - cmd = "cd #{namespaced_path} && git clone --bare #{full_path}" + cmd = "cd #{namespaced_path} && git clone --bare #{full_path} && #{create_hooks_to(full_destination_path)}" system(cmd) end + + private + + def create_hooks_to(dest_path) + pr_hook_path = File.join(ROOT_PATH, 'hooks', 'post-receive') + up_hook_path = File.join(ROOT_PATH, 'hooks', 'update') + + "ln -s #{pr_hook_path} #{dest_path}/hooks/post-receive && ln -s #{up_hook_path} #{dest_path}/hooks/update" + + end + end diff --git a/spec/gitlab_projects_spec.rb b/spec/gitlab_projects_spec.rb index ef7fa96..f9d63b0 100644 --- a/spec/gitlab_projects_spec.rb +++ b/spec/gitlab_projects_spec.rb @@ -90,8 +90,8 @@ describe GitlabProjects do it "should fork the repo" do gl_projects.exec File.exists?(File.join(tmp_repos_path, 'forked-to-namespace', repo_name)).should be_true - File.exists?(File.join(tmp_repos_path, 'forked-to-namespace', repo_name, '/hooks/update/post-receive')).should be_true - File.exists?(File.join(tmp_repos_path, 'forked-to-namespace', repo_name, '/hooks/update/')).should be_true + File.exists?(File.join(tmp_repos_path, 'forked-to-namespace', repo_name, '/hooks/update')).should be_true + File.exists?(File.join(tmp_repos_path, 'forked-to-namespace', repo_name, '/hooks/post-receive')).should be_true end end |