libdolt 0.18.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
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