gitolite 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +5 -3
- data/README.markdown +3 -3
- data/gitolite.gemspec +1 -1
- data/lib/gitolite.rb +1 -1
- data/lib/gitolite/config.rb +5 -3
- data/lib/gitolite/version.rb +1 -1
- data/spec/config_spec.rb +1 -1
- metadata +6 -6
data/Gemfile.lock
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gitolite (
|
4
|
+
gitolite (1.1.0)
|
5
|
+
gratr19 (~> 0.4.4.1)
|
5
6
|
grit (~> 2.5.0)
|
6
7
|
hashery (~> 1.5.0)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: http://rubygems.org/
|
10
11
|
specs:
|
11
|
-
blankslate (
|
12
|
+
blankslate (3.1.2)
|
12
13
|
diff-lcs (1.1.3)
|
13
14
|
forgery (0.5.0)
|
15
|
+
gratr19 (0.4.4.1)
|
14
16
|
grit (2.5.0)
|
15
17
|
diff-lcs (~> 1.1)
|
16
18
|
mime-types (~> 1.15)
|
@@ -18,7 +20,7 @@ GEM
|
|
18
20
|
hashery (1.5.0)
|
19
21
|
blankslate
|
20
22
|
json (1.6.6)
|
21
|
-
mime-types (1.
|
23
|
+
mime-types (1.19)
|
22
24
|
multi_json (1.3.2)
|
23
25
|
posix-spawn (0.3.6)
|
24
26
|
rdoc (3.12)
|
data/README.markdown
CHANGED
@@ -9,9 +9,6 @@ This gem can still have problems. Please file an issue if you encounter a bug.
|
|
9
9
|
* Allows for the creation and deletion of SSH keys within gitolite
|
10
10
|
* Allows for the bootstrapping of a gitolite-admin repository
|
11
11
|
|
12
|
-
## Issues ##
|
13
|
-
* Gem is not thread safe. For now, the gem will change directories in order to perform git operations. It will, however, return to the old working directory once it is finished. I am looking into making the gem thread safe.
|
14
|
-
|
15
12
|
## Requirements ##
|
16
13
|
* Ruby 1.8.x or 1.9.x
|
17
14
|
* a working [gitolite](https://github.com/sitaramc/gitolite) installation
|
@@ -161,6 +158,9 @@ The gitolite gem, on the other hand, will <em>always</em> output groups so that
|
|
161
158
|
@groupa = bob joe sue sam
|
162
159
|
@groupb = jim @groupa
|
163
160
|
|
161
|
+
## Issues ##
|
162
|
+
* Gem is not thread safe. For now, the gem will change directories in order to perform git operations. It will, however, return to the old working directory once it is finished. I am looking into making the gem thread safe. Note that this is only an issue on Rubies that do not have a GIL (ex jRuby or Rubinius)
|
163
|
+
|
164
164
|
# Contributing #
|
165
165
|
* Tests! If you ask me to pull changes that are not adequately tested, I'm not going to do it.
|
166
166
|
* If you introduce new features/public methods on objects, you must update the README.
|
data/gitolite.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.add_development_dependency "simplecov", "~> 0.6.2"
|
21
21
|
s.add_dependency "grit", "~> 2.5.0"
|
22
22
|
s.add_dependency "hashery", "~> 1.5.0"
|
23
|
-
s.add_dependency "
|
23
|
+
s.add_dependency "gratr19", "~> 0.4.4.1"
|
24
24
|
|
25
25
|
s.files = `git ls-files`.split("\n")
|
26
26
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
data/lib/gitolite.rb
CHANGED
data/lib/gitolite/config.rb
CHANGED
@@ -167,6 +167,9 @@ module Gitolite
|
|
167
167
|
when /^include "(.+)"/
|
168
168
|
#TODO: implement includes
|
169
169
|
#ignore includes for now
|
170
|
+
when /^subconf (\S+)$/
|
171
|
+
#TODO: implement subconfs
|
172
|
+
#ignore subconfs for now
|
170
173
|
else
|
171
174
|
raise ParseError, "'#{line}' cannot be processed"
|
172
175
|
end
|
@@ -203,15 +206,14 @@ module Gitolite
|
|
203
206
|
# Builds a dependency tree from the groups in order to ensure all groups
|
204
207
|
# are defined before they are used
|
205
208
|
def build_groups_depgraph
|
206
|
-
dp = ::
|
209
|
+
dp = ::GRATR::Digraph.new
|
207
210
|
|
208
211
|
# Add each group to the graph
|
209
212
|
@groups.each_value do |group|
|
210
213
|
dp.add_vertex! group
|
211
214
|
|
212
215
|
# Select group names from the users
|
213
|
-
subgroups = group.users.select {|u| u =~ /^#{Group::PREPEND_CHAR}.*$/}
|
214
|
-
.map{|g| get_group g.gsub(Group::PREPEND_CHAR, '') }
|
216
|
+
subgroups = group.users.select {|u| u =~ /^#{Group::PREPEND_CHAR}.*$/}.map{|g| get_group g.gsub(Group::PREPEND_CHAR, '') }
|
215
217
|
|
216
218
|
subgroups.each do |subgroup|
|
217
219
|
dp.add_edge! subgroup, group
|
data/lib/gitolite/version.rb
CHANGED
data/spec/config_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitolite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -108,13 +108,13 @@ dependencies:
|
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: 1.5.0
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
111
|
+
name: gratr19
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
113
113
|
none: false
|
114
114
|
requirements:
|
115
115
|
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 0.4.4.1
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
requirements:
|
123
123
|
- - ~>
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.
|
125
|
+
version: 0.4.4.1
|
126
126
|
description: This gem is designed to provide a Ruby interface to the gitolite git
|
127
127
|
backend system. This gem aims to provide all management functionality that is available
|
128
128
|
via the gitolite-admin repository (like SSH keys, repository permissions, etc)
|
@@ -187,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
187
|
version: '0'
|
188
188
|
requirements: []
|
189
189
|
rubyforge_project: gitolite
|
190
|
-
rubygems_version: 1.8.
|
190
|
+
rubygems_version: 1.8.23
|
191
191
|
signing_key:
|
192
192
|
specification_version: 3
|
193
193
|
summary: A Ruby gem for manipulating the gitolite git backend via the gitolite-admin
|