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 +4 -4
- data/lib/libdolt/disk_repo_resolver.rb +1 -2
- data/lib/libdolt/git.rb +5 -0
- data/lib/libdolt/git/repository.rb +6 -2
- data/lib/libdolt/repo_actions.rb +11 -1
- data/lib/libdolt/version.rb +1 -1
- data/test/fixtures/dolt-test-repo.git/HEAD +1 -0
- data/test/fixtures/dolt-test-repo.git/README +5 -0
- data/test/fixtures/dolt-test-repo.git/config +4 -0
- data/test/fixtures/dolt-test-repo.git/description +1 -0
- data/test/fixtures/dolt-test-repo.git/info/exclude +6 -0
- data/test/fixtures/dolt-test-repo.git/objects/26/4c348a80906538018616fa16fc35d04bdf38b0 +0 -0
- data/test/fixtures/dolt-test-repo.git/objects/85/026eda8302b98fa54cc24445a118028865a2e2 +0 -0
- data/test/fixtures/dolt-test-repo.git/objects/89/cd7e9d4564928de6b803b36c6e3d081c8d9ca1 +0 -0
- data/test/fixtures/dolt-test-repo.git/objects/b4/0c249db94476cac7fa91a9d6491c0faf21ec21 +0 -0
- data/test/fixtures/dolt-test-repo.git/objects/fc/5f5fb50b435e183925b341909610aace90a413 +0 -0
- data/test/fixtures/dolt-test-repo.git/refs/heads/master +1 -0
- data/test/fixtures/dolt-test-repo.git/refs/tags/testable-tag +1 -0
- data/test/libdolt/git/repository_test.rb +19 -5
- data/test/libdolt/repo_actions_test.rb +44 -162
- data/test/libdolt/templates/tree_test.rb +19 -5
- data/views/index.erb +13 -4
- data/views/raw.erb +1 -2
- data/views/tree.erb +8 -0
- metadata +36 -24
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
libdolt (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.
|
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.
|
31
|
+
rake (0.9.6)
|
32
32
|
redcarpet (2.2.0)
|
33
33
|
rugged (0.17.0.b6)
|
34
|
-
tilt (1.
|
34
|
+
tilt (1.4.1)
|
35
35
|
tiltout (1.4.0)
|
36
36
|
tilt (~> 1.3)
|
37
37
|
tzinfo (0.3.37)
|
data/lib/libdolt/git.rb
CHANGED
@@ -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
|
78
|
-
tree(ref,
|
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
|
data/lib/libdolt/repo_actions.rb
CHANGED
@@ -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
|
data/lib/libdolt/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
ref: refs/heads/master
|
@@ -0,0 +1 @@
|
|
1
|
+
Unnamed repository; edit this file 'description' to name the repository.
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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 "#
|
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.
|
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.
|
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.
|
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.
|
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
|
-
|
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
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
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
|
-
|
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
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
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
|
-
|
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
|
-
|
137
|
-
data = @actions.tree_entry("gitorious", "babd120", "Gemfile")
|
88
|
+
data = @actions.tree_entry("gitorious", "fc5f5fb50b435e18", "lib/foo.rb")
|
138
89
|
|
139
|
-
assert_equal
|
140
|
-
|
141
|
-
|
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", "
|
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
|
-
|
158
|
-
|
159
|
-
|
160
|
-
assert_equal
|
161
|
-
|
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
|
-
|
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 => "
|
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
|
-
|
209
|
-
|
210
|
-
|
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
|
-
|
249
|
-
|
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", "
|
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 = "
|
273
|
-
|
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
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
-
<
|
23
|
-
|
24
|
-
|
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
|
-
|
34
|
+
</tbody>
|
35
|
+
</table>
|
27
36
|
</div>
|
data/views/raw.erb
CHANGED
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-
|
12
|
+
date: 2013-06-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|