Commit 162c4b044ee0890e774c30b19d17c0c5988c82d3
1 parent
25c9cbff
Exists in
master
and in
4 other branches
issue #94
Showing
3 changed files
with
24 additions
and
16 deletions
Show diff stats
Gemfile
@@ -8,7 +8,7 @@ gem 'stamp' | @@ -8,7 +8,7 @@ gem 'stamp' | ||
8 | gem 'will_paginate', '~> 3.0' | 8 | gem 'will_paginate', '~> 3.0' |
9 | gem 'haml-rails' | 9 | gem 'haml-rails' |
10 | gem 'jquery-rails' | 10 | gem 'jquery-rails' |
11 | -gem 'grit' | 11 | +gem 'grit', :git => 'git://github.com/mojombo/grit.git' |
12 | gem "carrierwave" | 12 | gem "carrierwave" |
13 | gem 'six' | 13 | gem 'six' |
14 | gem 'therubyracer' | 14 | gem 'therubyracer' |
Gemfile.lock
@@ -14,6 +14,15 @@ GIT | @@ -14,6 +14,15 @@ GIT | ||
14 | activesupport (~> 3.1.0.rc4) | 14 | activesupport (~> 3.1.0.rc4) |
15 | 15 | ||
16 | GIT | 16 | GIT |
17 | + remote: git://github.com/mojombo/grit.git | ||
18 | + revision: ff015074ef35bd94cba943f9c0f98e161ab5851c | ||
19 | + specs: | ||
20 | + grit (2.4.1) | ||
21 | + diff-lcs (~> 1.1) | ||
22 | + mime-types (~> 1.15) | ||
23 | + posix-spawn (~> 0.3.6) | ||
24 | + | ||
25 | +GIT | ||
17 | remote: git://github.com/randx/albino.git | 26 | remote: git://github.com/randx/albino.git |
18 | revision: 118380924969f3a856659f86ea1f40c1ba7bfcb1 | 27 | revision: 118380924969f3a856659f86ea1f40c1ba7bfcb1 |
19 | specs: | 28 | specs: |
@@ -98,9 +107,6 @@ GEM | @@ -98,9 +107,6 @@ GEM | ||
98 | i18n (~> 0.4) | 107 | i18n (~> 0.4) |
99 | ffi (1.0.9) | 108 | ffi (1.0.9) |
100 | git (1.2.5) | 109 | git (1.2.5) |
101 | - grit (2.4.1) | ||
102 | - diff-lcs (~> 1.1) | ||
103 | - mime-types (~> 1.15) | ||
104 | haml (3.1.3) | 110 | haml (3.1.3) |
105 | haml-rails (0.3.4) | 111 | haml-rails (0.3.4) |
106 | actionpack (~> 3.0) | 112 | actionpack (~> 3.0) |
@@ -247,7 +253,7 @@ DEPENDENCIES | @@ -247,7 +253,7 @@ DEPENDENCIES | ||
247 | devise (= 1.4.7) | 253 | devise (= 1.4.7) |
248 | faker | 254 | faker |
249 | git | 255 | git |
250 | - grit | 256 | + grit! |
251 | haml-rails | 257 | haml-rails |
252 | inifile | 258 | inifile |
253 | jquery-rails | 259 | jquery-rails |
lib/gitosis.rb
1 | require 'inifile' | 1 | require 'inifile' |
2 | require 'timeout' | 2 | require 'timeout' |
3 | +require 'fileutils' | ||
4 | + | ||
3 | class Gitosis | 5 | class Gitosis |
4 | class AccessDenied < StandardError; end | 6 | class AccessDenied < StandardError; end |
5 | 7 | ||
6 | def pull | 8 | def pull |
7 | # create tmp dir | 9 | # create tmp dir |
8 | - @local_dir = File.join(Dir.tmpdir,"gitme-gitosis-#{Time.now.to_i}") | 10 | + @local_dir = File.join(Dir.tmpdir,"gitlabhq-gitosis-#{Time.now.to_i}") |
9 | 11 | ||
10 | Dir.mkdir @local_dir | 12 | Dir.mkdir @local_dir |
11 | 13 | ||
@@ -17,27 +19,27 @@ class Gitosis | @@ -17,27 +19,27 @@ class Gitosis | ||
17 | @repo.commit_all "Gitlab" | 19 | @repo.commit_all "Gitlab" |
18 | @repo.push | 20 | @repo.push |
19 | 21 | ||
20 | - `rm -Rf #{@local_dir}` | 22 | + #FileUtils.rm_rf(@local_dir) |
21 | end | 23 | end |
22 | 24 | ||
23 | def configure | 25 | def configure |
24 | - status = Timeout::timeout(5) { | ||
25 | - File.open(File.join(Dir.tmpdir,"gitme-gitosis.lock"), "w+") do |f| | ||
26 | - f.flock(File::LOCK_EX) | 26 | + status = Timeout::timeout(5) do |
27 | + File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f| | ||
28 | + f.flock(File::LOCK_EX) | ||
27 | 29 | ||
28 | - pull | ||
29 | - yield(self) | ||
30 | - push | 30 | + pull |
31 | + yield(self) | ||
32 | + push | ||
31 | 33 | ||
32 | - f.flock(File::LOCK_UN) | 34 | + f.flock(File::LOCK_UN) |
33 | end | 35 | end |
34 | - } | 36 | + end |
35 | rescue Exception => ex | 37 | rescue Exception => ex |
36 | raise Gitosis::AccessDenied.new("gitosis timeout") | 38 | raise Gitosis::AccessDenied.new("gitosis timeout") |
37 | end | 39 | end |
38 | 40 | ||
39 | def destroy_project(project) | 41 | def destroy_project(project) |
40 | - `rm -Rf #{project.path_to_repo}` | 42 | + #FileUtils.rm_rf(project.path_to_repo) |
41 | 43 | ||
42 | conf = IniFile.new(File.join(@local_dir,'gitosis','gitosis.conf')) | 44 | conf = IniFile.new(File.join(@local_dir,'gitosis','gitosis.conf')) |
43 | 45 |