libdolt 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- libdolt (0.17.0)
4
+ libdolt (0.18.0)
5
5
  htmlentities (~> 4.3)
6
6
  json (~> 1.7)
7
7
  makeup (~> 0.2)
@@ -22,16 +22,16 @@ GEM
22
22
  metaclass (0.0.1)
23
23
  mime-types (1.23)
24
24
  minitest (2.12.1)
25
- mocha (0.13.1)
25
+ mocha (0.14.0)
26
26
  metaclass (~> 0.0.1)
27
27
  posix-spawn (0.3.6)
28
28
  pygments.rb (0.5.0)
29
29
  posix-spawn (~> 0.3.6)
30
30
  yajl-ruby (~> 1.1.0)
31
- rake (0.9.2.2)
31
+ rake (0.9.6)
32
32
  redcarpet (2.2.0)
33
33
  rugged (0.17.0.b6)
34
- tilt (1.3.3)
34
+ tilt (1.4.1)
35
35
  tiltout (1.4.0)
36
36
  tilt (~> 1.3)
37
37
  tzinfo (0.3.37)
@@ -34,8 +34,7 @@ module Dolt
34
34
  end
35
35
 
36
36
  def git_repo?(dir)
37
- return true if dir.split(".").last == "git"
38
- File.exists? File.join(root, dir, ".git")
37
+ Dolt::Git.git_repo?(File.join(root, dir))
39
38
  end
40
39
 
41
40
  private
data/lib/libdolt/git.rb CHANGED
@@ -38,5 +38,10 @@ module Dolt
38
38
  def self.binary=(path)
39
39
  @binary = path
40
40
  end
41
+
42
+ def self.git_repo?(path)
43
+ return true if path.split(".").last == "git"
44
+ File.exists?(File.join(path, ".git"))
45
+ end
41
46
  end
42
47
  end
@@ -44,6 +44,10 @@ module Dolt
44
44
  []
45
45
  end
46
46
 
47
+ def blob(ref, path)
48
+ rev_parse("#{ref}:#{path}")
49
+ end
50
+
47
51
  def tree(ref, path)
48
52
  object = rev_parse("#{ref}:#{path}")
49
53
  raise StandardError.new("Not a tree") if !object.is_a?(Rugged::Tree)
@@ -74,8 +78,8 @@ module Dolt
74
78
  annotate_history(path || "./", ref, tree, limit)
75
79
  end
76
80
 
77
- def readme(ref)
78
- tree(ref, "").entries.select do |e|
81
+ def readmes(ref, path="")
82
+ tree(ref, path).entries.select do |e|
79
83
  e[:type] == :blob && e[:name].match(/readme/i)
80
84
  end
81
85
  rescue Exception => err
@@ -32,7 +32,7 @@ module Dolt
32
32
  end
33
33
 
34
34
  def tree(repo, ref, path)
35
- repo_action(repo, ref, path, :tree, :tree, ref, path)
35
+ repo_action(repo, ref, path, :tree, :tree, ref, path).merge({:readme => readme(repo, ref, path)})
36
36
  end
37
37
 
38
38
  def tree_entry(repo, ref, path)
@@ -101,6 +101,16 @@ module Dolt
101
101
  [n.sub(/^refs\/#{type}\//, ""), repository.rev_parse_oid(n)]
102
102
  end
103
103
  end
104
+
105
+ def readme(repo_name, ref, path)
106
+ repository = resolve_repository(repo_name)
107
+ readmes = repository.readmes(ref, path)
108
+ readme = readmes.detect {|blob| Makeup::Markup.can_render?(blob[:name])}
109
+ return unless readme
110
+ blob_path = File.join(*[path, readme[:name]].reject { |p| p == "" })
111
+ blob = repository.blob(ref, blob_path)
112
+ {:blob => blob, :path => blob_path}
113
+ end
104
114
  end
105
115
 
106
116
  class ResolvedRepository
@@ -17,5 +17,5 @@
17
17
  #++
18
18
 
19
19
  module Dolt
20
- VERSION = "0.18.0"
20
+ VERSION = "0.19.0"
21
21
  end
@@ -0,0 +1 @@
1
+ ref: refs/heads/master
@@ -0,0 +1,5 @@
1
+ This is a bare repository intended for tests.
2
+
3
+ It contains a tag which is used in testing, do not remove this.
4
+
5
+ To create new refs, check out the repo somewhere else and push into the bare repo.
@@ -0,0 +1,4 @@
1
+ [core]
2
+ repositoryformatversion = 0
3
+ filemode = true
4
+ bare = true
@@ -0,0 +1 @@
1
+ Unnamed repository; edit this file 'description' to name the repository.
@@ -0,0 +1,6 @@
1
+ # git ls-files --others --exclude-from=.git/info/exclude
2
+ # Lines that start with '#' are comments.
3
+ # For a project mostly in C, the following would be a good set of
4
+ # exclude patterns (uncomment them if you want to use them):
5
+ # *.[oa]
6
+ # *~
@@ -0,0 +1 @@
1
+ fc5f5fb50b435e183925b341909610aace90a413
@@ -0,0 +1 @@
1
+ fc5f5fb50b435e183925b341909610aace90a413
@@ -158,7 +158,7 @@ describe Dolt::Git::Repository do
158
158
  end
159
159
  end
160
160
 
161
- describe "#readme" do
161
+ describe "#readmes" do
162
162
  it "returns single readme" do
163
163
  def @repository.tree(ref, path)
164
164
  entries = [{ :type => :blob, :name => "Readme" },
@@ -171,7 +171,7 @@ describe Dolt::Git::Repository do
171
171
  end
172
172
  end
173
173
 
174
- readmes = @repository.readme("master")
174
+ readmes = @repository.readmes("master")
175
175
 
176
176
  assert_equal 1, readmes.length
177
177
  assert_equal "Readme", readmes.first[:name]
@@ -185,7 +185,7 @@ describe Dolt::Git::Repository do
185
185
  OpenStruct.new(:entries => entries)
186
186
  end
187
187
 
188
- readmes = @repository.readme("master")
188
+ readmes = @repository.readmes("master")
189
189
  assert_equal 0, readmes.length
190
190
  end
191
191
 
@@ -197,7 +197,7 @@ describe Dolt::Git::Repository do
197
197
  OpenStruct.new(:entries => entries)
198
198
  end
199
199
 
200
- readmes = @repository.readme("master")
200
+ readmes = @repository.readmes("master")
201
201
  assert_equal 3, readmes.length
202
202
  end
203
203
 
@@ -206,8 +206,22 @@ describe Dolt::Git::Repository do
206
206
  raise Exception.new("Unknown reason")
207
207
  end
208
208
 
209
- readmes = @repository.readme("master")
209
+ readmes = @repository.readmes("master")
210
210
  assert_equal 0, readmes.length
211
211
  end
212
+
213
+ it "finds readmes in a path" do
214
+ def @repository.tree(ref, path)
215
+ if path == "lib"
216
+ entries = [{ :type => :blob, :name => "Readme.rdoc" }]
217
+ else
218
+ entries = []
219
+ end
220
+ OpenStruct.new(:entries => entries)
221
+ end
222
+
223
+ assert_equal 0, @repository.readmes("master").length
224
+ assert_equal 1, @repository.readmes("master","lib").length
225
+ end
212
226
  end
213
227
  end
@@ -20,36 +20,13 @@ require "libdolt/repo_actions"
20
20
  require "ostruct"
21
21
  require "mocha/setup"
22
22
 
23
- class Repository
24
- attr_reader :name
25
- def initialize(name)
26
- @name = name
27
- end
28
-
29
- def tree(ref, path); end
30
- def tree_entry(ref, path); end
31
- def rev_parse(rev); end
32
- def rev_parse_oid(ref); self.class.refs[ref] || nil; end
33
- def blame(ref, path); end
34
- def log(ref, path, limit); end
35
- def refs; end
36
- def tree_history(ref, path, count); end
37
-
38
- def self.stub_ref(name, ref)
39
- self.refs[name] = ref
40
- end
41
-
42
- def self.refs
43
- @refs ||= {}
44
- end
45
- end
46
-
47
23
  class Resolver
48
24
  attr_reader :resolved
49
25
  def initialize; @resolved = []; end
50
26
 
51
27
  def resolve(repo)
52
- repository = Repository.new(repo)
28
+ dot_git = File.dirname(__FILE__) + "/../fixtures/dolt-test-repo.git"
29
+ repository = Dolt::Git::Repository.new(dot_git)
53
30
  @resolved << repository
54
31
  repository
55
32
  end
@@ -65,195 +42,101 @@ class MetaResolver < Resolver
65
42
  end
66
43
  end
67
44
 
68
- class FakeBlob; end
69
-
70
45
  describe Dolt::RepoActions do
71
46
  before do
72
47
  @resolver = Resolver.new
73
48
  @actions = Dolt::RepoActions.new(@resolver)
74
- @blob = FakeBlob.new
75
- @tree = { :type => :tree }
76
- @blame = { :type => :blame }
77
49
  end
78
50
 
79
51
  describe "#blob" do
80
- it "resolves repository" do
81
- @actions.blob("gitorious", "master", "app")
82
-
83
- assert_equal ["gitorious"], @resolver.resolved.map(&:name)
84
- end
85
-
86
52
  it "returns path, blob, repo, ref and base_tree_url" do
87
- Repository.any_instance.stubs(:rev_parse).returns(@blob)
88
- data = @actions.blob("gitorious", "babd120", "app")
89
-
90
- assert_equal({
91
- :blob => @blob,
92
- :repository_slug => "gitorious",
93
- :ref => "babd120",
94
- :path => "app"
95
- }, data)
53
+ data = @actions.blob("gitorious", "fc5f5fb50b435e18", "lib/foo.rb")
54
+ assert_equal "gitorious", data[:repository_slug]
55
+ assert_equal "fc5f5fb50b435e18", data[:ref]
56
+ assert Rugged::Blob === data[:blob]
96
57
  end
97
58
  end
98
59
 
99
60
  describe "#tree" do
100
- it "resolves repository" do
101
- @actions.tree("gitorious", "master", "app")
102
-
103
- assert_equal ["gitorious"], @resolver.resolved.map(&:name)
104
- end
105
-
106
61
  it "returns tree, repo and ref" do
107
- Repository.any_instance.stubs(:tree).returns(@tree)
108
- data = @actions.tree("gitorious", "babd120", "app")
62
+ data = @actions.tree("gitorious", "fc5f5fb50b435e18", "lib")
109
63
  repo = @resolver.resolved.last
64
+ assert_equal "264c348a80906538018616fa16fc35d04bdf38b0", data[:tree].oid
65
+ assert_equal "fc5f5fb50b435e18", data[:ref]
66
+ assert_equal "lib", data[:path]
67
+ end
68
+ end
110
69
 
111
- assert_equal({
112
- :tree => @tree,
113
- :repository_slug => "gitorious",
114
- :ref => "babd120",
115
- :path => "app"
116
- }, data)
70
+ describe "readmes" do
71
+ it "includes readmes which can be rendered" do
72
+ readme_name = "README.org"
73
+ Makeup::Markup.stubs(:can_render?).with(readme_name).returns(true)
74
+ data = @actions.tree("gitorious","fc5f5fb50b435e18","")
75
+ repo = @resolver.resolved.last
76
+ assert_equal "#{readme_name}", data[:readme][:path]
117
77
  end
118
78
  end
119
79
 
120
80
  describe "#tree_entry" do
121
81
  it "returns tree, repo and ref" do
122
- Repository.any_instance.stubs(:tree_entry).returns(@tree)
123
- data = @actions.tree_entry("gitorious", "babd120", "")
82
+ data = @actions.tree_entry("gitorious", "fc5f5fb50b435e18", "")
124
83
  repo = @resolver.resolved.last
125
-
126
- assert_equal({
127
- :tree => @tree,
128
- :repository_slug => "gitorious",
129
- :ref => "babd120",
130
- :path => "",
131
- :type => :tree
132
- }, data)
84
+ assert_equal :tree, data[:type]
133
85
  end
134
86
 
135
87
  it "returns blob, repo and ref" do
136
- Repository.any_instance.stubs(:tree_entry).returns(@blob)
137
- data = @actions.tree_entry("gitorious", "babd120", "Gemfile")
88
+ data = @actions.tree_entry("gitorious", "fc5f5fb50b435e18", "lib/foo.rb")
138
89
 
139
- assert_equal({
140
- :blob => @blob,
141
- :repository_slug => "gitorious",
142
- :ref => "babd120",
143
- :path => "Gemfile",
144
- :type => :blob
145
- }, data)
90
+ assert_equal "lib/foo.rb", data[:path]
91
+ assert_equal "fc5f5fb50b435e18", data[:ref]
92
+ assert_equal :blob, data[:type]
146
93
  end
147
94
  end
148
95
 
149
96
  describe "#blame" do
150
97
  it "resolves repository" do
151
- @actions.blame("gitorious", "master", "app")
152
-
153
- assert_equal ["gitorious"], @resolver.resolved.map(&:name)
98
+ @actions.blame("gitorious", "master", "lib")
99
+ assert_equal 1, @resolver.resolved.size
154
100
  end
155
101
 
156
102
  it "returns blame, repo and ref" do
157
- Repository.any_instance.stubs(:blame).returns(@blame)
158
- data = @actions.blame("gitorious", "babd120", "app")
159
-
160
- assert_equal({
161
- :blame => @blame,
162
- :repository_slug => "gitorious",
163
- :ref => "babd120",
164
- :path => "app"
165
- }, data)
103
+ data = @actions.blame("gitorious", "fc5f5fb50b435e18", "lib")
104
+ assert Dolt::Git::Blame === data[:blame]
105
+ assert_equal "gitorious", data[:repository_slug]
106
+ assert_equal "fc5f5fb50b435e18", data[:ref]
107
+ assert_equal "lib", data[:path]
166
108
  end
167
109
  end
168
110
 
169
111
  describe "#history" do
170
- it "resolves repository" do
171
- @actions.history("gitorious", "master", "app", 1)
172
-
173
- assert_equal ["gitorious"], @resolver.resolved.map(&:name)
174
- end
175
-
176
112
  it "returns commits, repo and ref" do
177
- Repository.any_instance.stubs(:log).returns([])
178
- data = @actions.history("gitorious", "babd120", "app", 2)
113
+ data = @actions.history("gitorious", "fc5f5fb50b435e18", "app", 2)
179
114
 
180
115
  assert_equal({
181
116
  :commits => [],
182
117
  :repository_slug => "gitorious",
183
- :ref => "babd120",
118
+ :ref => "fc5f5fb50b435e18",
184
119
  :path => "app"
185
120
  }, data)
186
121
  end
187
122
  end
188
123
 
189
124
  describe "#refs" do
190
- before do
191
- @refs = ["refs/stash",
192
- "refs/tags/v0.2.1",
193
- "refs/tags/v0.2.0",
194
- "refs/remotes/origin/master",
195
- "refs/heads/libgit2",
196
- "refs/heads/master"].map { |n| OpenStruct.new(:name => n) }
197
- end
198
-
199
125
  it "returns repositories, tags and heads" do
200
- Repository.any_instance.stubs(:refs).returns(@refs)
201
- Repository.stub_ref("refs/tags/v0.2.0", "a" * 40)
202
- Repository.stub_ref("refs/tags/v0.2.1", "b" * 40)
203
- Repository.stub_ref("refs/heads/libgit2", "c" * 40)
204
- Repository.stub_ref("refs/heads/master", "d" * 40)
205
-
206
126
  data = @actions.refs("gitorious")
207
127
 
208
- assert_equal({
209
- :repository_slug => "gitorious",
210
- :heads => [["libgit2", "c" * 40], ["master", "d" * 40]],
211
- :tags => [["v0.2.1", "b" * 40], ["v0.2.0", "a" * 40]]
212
- }, data)
128
+ assert data[:tags].detect {|name, ref|
129
+ name == "testable-tag" && ref == "fc5f5fb50b435e183925b341909610aace90a413"
130
+ }
213
131
  end
214
132
  end
215
133
 
216
134
  describe "#tree_history" do
217
- before do
218
- @tree = [{
219
- :type => :blob,
220
- :oid => "e90021f89616ddf86855d05337c188408d3b417e",
221
- :filemode => 33188,
222
- :name => ".gitmodules",
223
- :history => [{
224
- :oid => "906d67b4f3e5de7364ba9b57d174d8998d53ced6",
225
- :author => { :name => "Christian Johansen",
226
- :email => "christian@cjohansen.no" },
227
- :summary => "Working Dolt server for viewing blobs",
228
- :date => Time.parse("Mon Sep 10 15:07:39 +0200 2012"),
229
- :message => ""
230
- }]
231
- }, {
232
- :type => :blob,
233
- :oid => "c80ee3697054566d1a4247d80be78ec3ddfde295",
234
- :filemode => 33188,
235
- :name => "Gemfile",
236
- :history => [{
237
- :oid => "26139a3aba4aac8cbf658c0d0ea58b8983e4090b",
238
- :author => { :name => "Christian Johansen",
239
- :email => "christian@cjohansen.no" },
240
- :summary => "Initial commit",
241
- :date => Time.parse("Thu Aug 23 11:40:39 +0200 2012"),
242
- :message => ""
243
- }]
244
- }]
245
- end
246
-
247
135
  it "returns repository, path, ref and history" do
248
- Repository.any_instance.stubs(:tree_history).returns(@tree)
249
- data = @actions.tree_history("gitorious", "master", "", 1)
250
-
251
- assert_equal({
252
- :repository_slug => "gitorious",
253
- :ref => "master",
254
- :path => "",
255
- :tree => @tree
256
- }, data)
136
+ data = @actions.tree_history("gitorious", "testable-tag", "", 1)
137
+ assert_equal "testable-tag", data[:ref]
138
+ assert_equal 2, data[:tree].length
139
+ assert_equal "", data[:path]
257
140
  end
258
141
  end
259
142
 
@@ -261,7 +144,7 @@ describe Dolt::RepoActions do
261
144
  it "is returned with other data" do
262
145
  resolver = MetaResolver.new
263
146
  actions = Dolt::RepoActions.new(resolver)
264
- data = actions.blob("gitorious", "babd120", "app")
147
+ data = actions.blob("gitorious", "fc5f5fb50b435e18", "lib")
265
148
 
266
149
  assert_equal "Meta data is cool", data[:repository_meta]
267
150
  end
@@ -269,9 +152,8 @@ describe Dolt::RepoActions do
269
152
 
270
153
  describe "#rev_parse_oid" do
271
154
  it "resolves ref oid" do
272
- oid = "a" * 40
273
- Repository.any_instance.stubs(:rev_parse_oid).returns(oid)
274
- assert_equal oid, @actions.rev_parse_oid("gitorious", "master")
155
+ oid = "fc5f5fb50b435e183925b341909610aace90a413"
156
+ assert_equal oid, @actions.rev_parse_oid("gitorious", "testable-tag")
275
157
  end
276
158
  end
277
159
  end
@@ -32,12 +32,14 @@ describe "tree template" do
32
32
 
33
33
  def render(path, tree, options = {})
34
34
  renderer = prepare_renderer(options)
35
+ readme = options[:readme] || nil
35
36
  renderer.render(:tree, {
36
- :tree => tree,
37
- :repository_slug => @repo,
38
- :ref => options[:ref] || "master",
39
- :path => path
40
- })
37
+ :tree => tree,
38
+ :repository_slug => @repo,
39
+ :ref => options[:ref] || "master",
40
+ :path => path,
41
+ :readme => readme
42
+ })
41
43
  end
42
44
 
43
45
  it "renders empty tree" do
@@ -60,4 +62,16 @@ describe "tree template" do
60
62
  assert_match /icon-folder-open/, markup
61
63
  assert_match /tree\/master:app"/, markup
62
64
  end
65
+
66
+ it "renders readmes" do
67
+ tree = Tree.new([
68
+ {:type => :tree, :name => "lib"},
69
+ {:type => :blob, :name => "README.md"}
70
+ ])
71
+ blob = mock(:text => "This is a readme")
72
+ readme = {:blob => blob, :path => "README.md"}
73
+ markup = render("", tree, :readme => readme)
74
+
75
+ assert_match /<h[1-6]>README.md<\/h[1-6]>/, markup
76
+ end
63
77
  end
data/views/index.erb CHANGED
@@ -19,9 +19,18 @@
19
19
  %>
20
20
  <div class="container gts-body">
21
21
  <h1><%= @title = "All repositories" %></h1>
22
- <ul>
23
- <% repositories.each do |repo| %>
24
- <li><a href="/<%= repo %>/tree/master:"><%= repo %></a></li>
22
+ <table class="table table-striped">
23
+ <tbody>
24
+ <% repositories.each do |repo| %>
25
+ <tr>
26
+ <td>
27
+ <a href="/<%= repo %>/tree/master:">
28
+ <i class="icon-folder-close"></i>
29
+ <%= repo %>
30
+ </a>
31
+ </td>
32
+ </tr>
25
33
  <% end %>
26
- </ul>
34
+ </tbody>
35
+ </table>
27
36
  </div>
data/views/raw.erb CHANGED
@@ -16,5 +16,4 @@
16
16
  # You should have received a copy of the GNU Affero General Public License
17
17
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  #++
19
- %>
20
- <div class="container gts-body"><%= blob.content %></div>
19
+ %><%= blob.content %>
data/views/tree.erb CHANGED
@@ -49,4 +49,12 @@
49
49
  <% end %>
50
50
  </tbody>
51
51
  </table>
52
+ <% if readme %>
53
+ <div class="gts-readme">
54
+ <div class="gts-page-header">
55
+ <h2><%= readme[:path] %></h2>
56
+ </div>
57
+ <%= format_blob(readme[:path], readme[:blob].text(nil, Encoding.default_external), repository_slug, ref) %>
58
+ </div>
59
+ <% end %>
52
60
  </div>
metadata CHANGED
@@ -1,25 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libdolt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
5
4
  prerelease:
5
+ version: 0.19.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Christian Johansen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-04 00:00:00.000000000 Z
12
+ date: 2013-06-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rugged
15
+ type: :runtime
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
21
  version: 0.17.0.b6
22
- type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
24
  none: false
@@ -27,15 +26,15 @@ dependencies:
27
26
  - - '='
28
27
  - !ruby/object:Gem::Version
29
28
  version: 0.17.0.b6
29
+ name: rugged
30
30
  - !ruby/object:Gem::Dependency
31
- name: tzinfo
31
+ type: :runtime
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0.3'
38
- type: :runtime
39
38
  prerelease: false
40
39
  version_requirements: !ruby/object:Gem::Requirement
41
40
  none: false
@@ -43,15 +42,15 @@ dependencies:
43
42
  - - ~>
44
43
  - !ruby/object:Gem::Version
45
44
  version: '0.3'
45
+ name: tzinfo
46
46
  - !ruby/object:Gem::Dependency
47
- name: makeup
47
+ type: :runtime
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0.2'
54
- type: :runtime
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
57
56
  none: false
@@ -59,15 +58,15 @@ dependencies:
59
58
  - - ~>
60
59
  - !ruby/object:Gem::Version
61
60
  version: '0.2'
61
+ name: makeup
62
62
  - !ruby/object:Gem::Dependency
63
- name: htmlentities
63
+ type: :runtime
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
69
  version: '4.3'
70
- type: :runtime
71
70
  prerelease: false
72
71
  version_requirements: !ruby/object:Gem::Requirement
73
72
  none: false
@@ -75,15 +74,15 @@ dependencies:
75
74
  - - ~>
76
75
  - !ruby/object:Gem::Version
77
76
  version: '4.3'
77
+ name: htmlentities
78
78
  - !ruby/object:Gem::Dependency
79
- name: json
79
+ type: :runtime
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
85
  version: '1.7'
86
- type: :runtime
87
86
  prerelease: false
88
87
  version_requirements: !ruby/object:Gem::Requirement
89
88
  none: false
@@ -91,15 +90,15 @@ dependencies:
91
90
  - - ~>
92
91
  - !ruby/object:Gem::Version
93
92
  version: '1.7'
93
+ name: json
94
94
  - !ruby/object:Gem::Dependency
95
- name: mime-types
95
+ type: :runtime
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
101
  version: '1.19'
102
- type: :runtime
103
102
  prerelease: false
104
103
  version_requirements: !ruby/object:Gem::Requirement
105
104
  none: false
@@ -107,15 +106,15 @@ dependencies:
107
106
  - - ~>
108
107
  - !ruby/object:Gem::Version
109
108
  version: '1.19'
109
+ name: mime-types
110
110
  - !ruby/object:Gem::Dependency
111
- name: minitest
111
+ type: :development
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: '2.0'
118
- type: :development
119
118
  prerelease: false
120
119
  version_requirements: !ruby/object:Gem::Requirement
121
120
  none: false
@@ -123,15 +122,15 @@ dependencies:
123
122
  - - ~>
124
123
  - !ruby/object:Gem::Version
125
124
  version: '2.0'
125
+ name: minitest
126
126
  - !ruby/object:Gem::Dependency
127
- name: rake
127
+ type: :development
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
131
  - - ~>
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0.9'
134
- type: :development
135
134
  prerelease: false
136
135
  version_requirements: !ruby/object:Gem::Requirement
137
136
  none: false
@@ -139,15 +138,15 @@ dependencies:
139
138
  - - ~>
140
139
  - !ruby/object:Gem::Version
141
140
  version: '0.9'
141
+ name: rake
142
142
  - !ruby/object:Gem::Dependency
143
- name: redcarpet
143
+ type: :development
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
147
  - - '='
148
148
  - !ruby/object:Gem::Version
149
149
  version: 2.2.0
150
- type: :development
151
150
  prerelease: false
152
151
  version_requirements: !ruby/object:Gem::Requirement
153
152
  none: false
@@ -155,15 +154,15 @@ dependencies:
155
154
  - - '='
156
155
  - !ruby/object:Gem::Version
157
156
  version: 2.2.0
157
+ name: redcarpet
158
158
  - !ruby/object:Gem::Dependency
159
- name: tiltout
159
+ type: :development
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ~>
164
164
  - !ruby/object:Gem::Version
165
165
  version: '1.4'
166
- type: :development
167
166
  prerelease: false
168
167
  version_requirements: !ruby/object:Gem::Requirement
169
168
  none: false
@@ -171,15 +170,15 @@ dependencies:
171
170
  - - ~>
172
171
  - !ruby/object:Gem::Version
173
172
  version: '1.4'
173
+ name: tiltout
174
174
  - !ruby/object:Gem::Dependency
175
- name: mocha
175
+ type: :development
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  none: false
178
178
  requirements:
179
179
  - - ! '>='
180
180
  - !ruby/object:Gem::Version
181
181
  version: '0'
182
- type: :development
183
182
  prerelease: false
184
183
  version_requirements: !ruby/object:Gem::Requirement
185
184
  none: false
@@ -187,6 +186,7 @@ dependencies:
187
186
  - - ! '>='
188
187
  - !ruby/object:Gem::Version
189
188
  version: '0'
189
+ name: mocha
190
190
  description: Dolt API for serving git trees and syntax highlighted blobs
191
191
  email:
192
192
  - christian@gitorious.org
@@ -229,6 +229,18 @@ files:
229
229
  - lib/libdolt/view/tree.rb
230
230
  - lib/libdolt/view/urls.rb
231
231
  - libdolt.gemspec
232
+ - test/fixtures/dolt-test-repo.git/HEAD
233
+ - test/fixtures/dolt-test-repo.git/README
234
+ - test/fixtures/dolt-test-repo.git/config
235
+ - test/fixtures/dolt-test-repo.git/description
236
+ - test/fixtures/dolt-test-repo.git/info/exclude
237
+ - test/fixtures/dolt-test-repo.git/objects/26/4c348a80906538018616fa16fc35d04bdf38b0
238
+ - test/fixtures/dolt-test-repo.git/objects/85/026eda8302b98fa54cc24445a118028865a2e2
239
+ - test/fixtures/dolt-test-repo.git/objects/89/cd7e9d4564928de6b803b36c6e3d081c8d9ca1
240
+ - test/fixtures/dolt-test-repo.git/objects/b4/0c249db94476cac7fa91a9d6491c0faf21ec21
241
+ - test/fixtures/dolt-test-repo.git/objects/fc/5f5fb50b435e183925b341909610aace90a413
242
+ - test/fixtures/dolt-test-repo.git/refs/heads/master
243
+ - test/fixtures/dolt-test-repo.git/refs/tags/testable-tag
232
244
  - test/libdolt/disk_repo_resolver_test.rb
233
245
  - test/libdolt/git/archiver_test.rb
234
246
  - test/libdolt/git/blame_test.rb