summaryrefslogtreecommitdiff
path: root/lib/gitlab_projects.rb
diff options
context:
space:
mode:
authorJacob Vosmaer <contact@jacobvosmaer.nl>2015-10-01 11:48:08 +0200
committerJacob Vosmaer <contact@jacobvosmaer.nl>2015-10-01 11:48:08 +0200
commit33c8d4879f34402876980d40716a64ae6f888347 (patch)
tree55d7a5a844c7e3cec5ff6ad0203e5383b5e0204a /lib/gitlab_projects.rb
parent979a6df4755a114e38cd1825be40cb07225f1fb4 (diff)
parent57bc57298c64f40a0a851e474b3e6de91a551ec5 (diff)
downloadgitlab-shell-33c8d4879f34402876980d40716a64ae6f888347.tar.gz
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-shell into no-init-on-gcryptsetup
Diffstat (limited to 'lib/gitlab_projects.rb')
-rw-r--r--lib/gitlab_projects.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
index 11f3820..8bf000d 100644
--- a/lib/gitlab_projects.rb
+++ b/lib/gitlab_projects.rb
@@ -21,11 +21,19 @@ class GitlabProjects
def self.create_hooks(path)
local_hooks_directory = File.join(path, 'hooks')
+ real_local_hooks_directory = :not_found
+ begin
+ real_local_hooks_directory = File.realpath(local_hooks_directory)
+ rescue Errno::ENOENT
+ # real_local_hooks_directory == :not_found
+ end
- if File.realpath(local_hooks_directory) != File.realpath(GLOBAL_HOOKS_DIRECTORY)
- $logger.info "Moving existing hooks directory and symlinking global hooks directory for #{path}."
- FileUtils.mv(local_hooks_directory, "#{local_hooks_directory}.old.#{Time.now.to_i}")
- FileUtils.ln_s(GLOBAL_HOOKS_DIRECTORY, local_hooks_directory)
+ if real_local_hooks_directory != File.realpath(GLOBAL_HOOKS_DIRECTORY)
+ if File.exist?(local_hooks_directory)
+ $logger.info "Moving existing hooks directory and symlinking global hooks directory for #{path}."
+ FileUtils.mv(local_hooks_directory, "#{local_hooks_directory}.old.#{Time.now.to_i}")
+ end
+ FileUtils.ln_sf(GLOBAL_HOOKS_DIRECTORY, local_hooks_directory)
else
$logger.info "Hooks already exist for #{path}."
true