Skip to content

Commit

Permalink
issue #94
Browse files Browse the repository at this point in the history
  • Loading branch information
gitlabhq committed Oct 10, 2011
1 parent 25c9cbf commit 162c4b0
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 16 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Expand Up @@ -8,7 +8,7 @@ gem 'stamp'
gem 'will_paginate', '~> 3.0'
gem 'haml-rails'
gem 'jquery-rails'
gem 'grit'
gem 'grit', :git => 'git://github.com/mojombo/grit.git'
gem "carrierwave"
gem 'six'
gem 'therubyracer'
Expand Down
14 changes: 10 additions & 4 deletions Gemfile.lock
Expand Up @@ -13,6 +13,15 @@ GIT
activerecord (~> 3.1.0.rc4)
activesupport (~> 3.1.0.rc4)

GIT
remote: git://github.com/mojombo/grit.git
revision: ff015074ef35bd94cba943f9c0f98e161ab5851c
specs:
grit (2.4.1)
diff-lcs (~> 1.1)
mime-types (~> 1.15)
posix-spawn (~> 0.3.6)

GIT
remote: git://github.com/randx/albino.git
revision: 118380924969f3a856659f86ea1f40c1ba7bfcb1
Expand Down Expand Up @@ -98,9 +107,6 @@ GEM
i18n (~> 0.4)
ffi (1.0.9)
git (1.2.5)
grit (2.4.1)
diff-lcs (~> 1.1)
mime-types (~> 1.15)
haml (3.1.3)
haml-rails (0.3.4)
actionpack (~> 3.0)
Expand Down Expand Up @@ -247,7 +253,7 @@ DEPENDENCIES
devise (= 1.4.7)
faker
git
grit
grit!
haml-rails
inifile
jquery-rails
Expand Down
24 changes: 13 additions & 11 deletions lib/gitosis.rb
@@ -1,11 +1,13 @@
require 'inifile'
require 'timeout'
require 'fileutils'

class Gitosis
class AccessDenied < StandardError; end

def pull
# create tmp dir
@local_dir = File.join(Dir.tmpdir,"gitme-gitosis-#{Time.now.to_i}")
@local_dir = File.join(Dir.tmpdir,"gitlabhq-gitosis-#{Time.now.to_i}")

Dir.mkdir @local_dir

Expand All @@ -17,27 +19,27 @@ def push
@repo.commit_all "Gitlab"
@repo.push

`rm -Rf #{@local_dir}`
#FileUtils.rm_rf(@local_dir)
end

def configure
status = Timeout::timeout(5) {
File.open(File.join(Dir.tmpdir,"gitme-gitosis.lock"), "w+") do |f|
f.flock(File::LOCK_EX)
status = Timeout::timeout(5) do
File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f|
f.flock(File::LOCK_EX)

pull
yield(self)
push
pull
yield(self)
push

f.flock(File::LOCK_UN)
f.flock(File::LOCK_UN)
end
}
end
rescue Exception => ex
raise Gitosis::AccessDenied.new("gitosis timeout")
end

def destroy_project(project)
`rm -Rf #{project.path_to_repo}`
#FileUtils.rm_rf(project.path_to_repo)

conf = IniFile.new(File.join(@local_dir,'gitosis','gitosis.conf'))

Expand Down

0 comments on commit 162c4b0

Please sign in to comment.