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 +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
|