diff options
author | Ariejan de Vroom <ariejan@ariejan.net> | 2012-04-23 10:54:19 +0300 |
---|---|---|
committer | Ariejan de Vroom <ariejan@ariejan.net> | 2012-04-23 10:54:19 +0300 |
commit | 21f3da23589d50038728393f0badc6255b5762ca (patch) | |
tree | a18ca9ae14fa2463a2b7bbb06cc6462a7bcda6d1 /lib | |
parent | 204c66461ed519eb0078be7e8ac8a6cb56834753 (diff) | |
download | gitlab-ce-21f3da23589d50038728393f0badc6255b5762ca.tar.gz |
Make sure tmp/merge_repo is available to write lock files for auto-merge.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab_merge.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/gitlab_merge.rb b/lib/gitlab_merge.rb index 078f77e12de..1c0923dedd5 100644 --- a/lib/gitlab_merge.rb +++ b/lib/gitlab_merge.rb @@ -25,8 +25,12 @@ class GitlabMerge end def process - Grit::Git.with_timeout(30.seconds) do - File.open(File.join(Rails.root, "tmp", "merge_repo", "#{project.path}.lock"), "w+") do |f| + Grit::Git.with_timeout(30.seconds) do + # Make sure tmp/merge_repo exists + lock_path = File.join(Rails.root, "tmp", "merge_repo") + FileUtils.mkdir_p(lock_path) unless File.exists?(File.join(Rails.root, "tmp", "merge_repo")) + + File.open(File.join(lock_path, "#{project.path}.lock"), "w+") do |f| f.flock(File::LOCK_EX) unless project.satellite.exists? |