Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriejan de Vroom <ariejan@ariejan.net>2012-04-23 11:54:19 +0400
committerAriejan de Vroom <ariejan@ariejan.net>2012-04-23 11:54:19 +0400
commit21f3da23589d50038728393f0badc6255b5762ca (patch)
treea18ca9ae14fa2463a2b7bbb06cc6462a7bcda6d1
parent204c66461ed519eb0078be7e8ac8a6cb56834753 (diff)
Make sure tmp/merge_repo is available to write lock files for auto-merge.
-rw-r--r--lib/gitlab_merge.rb8
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?