dolt 0.4.2 → 0.4.3
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 +1 -1
- data/lib/dolt/git/repository.rb +43 -0
- data/lib/dolt/git/submodule.rb +35 -0
- data/lib/dolt/git/tree.rb +42 -0
- data/lib/dolt/repo_actions.rb +1 -1
- data/lib/dolt/sinatra/actions.rb +1 -1
- data/lib/dolt/version.rb +1 -1
- data/lib/dolt/view/object.rb +9 -1
- data/lib/dolt/view/tree.rb +1 -1
- data/test/dolt/git/repository_test.rb +62 -26
- data/test/dolt/repo_actions_test.rb +1 -0
- data/test/dolt/view/object_test.rb +16 -4
- data/test/dolt/view/tree_test.rb +12 -0
- data/vendor/ui/js/components/tree-history.js +17 -1
- metadata +252 -155
data/Gemfile.lock
CHANGED
data/lib/dolt/git/repository.rb
CHANGED
@@ -20,11 +20,36 @@ require "em_pessimistic/deferrable_child_process"
|
|
20
20
|
require "em/deferrable"
|
21
21
|
require "dolt/git/blame"
|
22
22
|
require "dolt/git/commit"
|
23
|
+
require "dolt/git/submodule"
|
24
|
+
require "dolt/git/tree"
|
23
25
|
require "dolt/async/when"
|
24
26
|
|
25
27
|
module Dolt
|
26
28
|
module Git
|
27
29
|
class Repository < EMRugged::Repository
|
30
|
+
def submodules(ref)
|
31
|
+
d = EventMachine::DefaultDeferrable.new
|
32
|
+
gm = rev_parse("#{ref}:.gitmodules")
|
33
|
+
gm.callback do |config|
|
34
|
+
d.succeed(Dolt::Git::Submodule.parse_config(config.content))
|
35
|
+
end
|
36
|
+
# Fails if .gitmodules cannot be found, which means no submodules
|
37
|
+
gm.errback { |err| d.succeed([]) }
|
38
|
+
d
|
39
|
+
end
|
40
|
+
|
41
|
+
def tree(ref, path)
|
42
|
+
d = EventMachine::DefaultDeferrable.new
|
43
|
+
rp = rev_parse("#{ref}:#{path}")
|
44
|
+
rp.callback do |tree|
|
45
|
+
break d.fail(StandardError.new("Not a tree")) unless tree.is_a?(Rugged::Tree)
|
46
|
+
break d.succeed(tree) if !tree.find { |e| e[:type].nil? }
|
47
|
+
annotate_submodules(ref, path, d, tree)
|
48
|
+
end
|
49
|
+
rp.errback { |err| d.fail(err) }
|
50
|
+
d
|
51
|
+
end
|
52
|
+
|
28
53
|
def blame(ref, path)
|
29
54
|
deferred_method("blame -l -t -p #{ref} #{path}") do |output, s|
|
30
55
|
Dolt::Git::Blame.parse_porcelain(output)
|
@@ -72,6 +97,24 @@ module Dolt
|
|
72
97
|
d
|
73
98
|
end
|
74
99
|
|
100
|
+
def annotate_submodules(ref, path, deferrable, tree)
|
101
|
+
submodules(ref).callback do |submodules|
|
102
|
+
entries = tree.entries.map do |entry|
|
103
|
+
if entry[:type].nil?
|
104
|
+
mod = path == "" ? entry[:name] : File.join(path, entry[:name])
|
105
|
+
meta = submodules.find { |s| s[:path] == mod }
|
106
|
+
if meta
|
107
|
+
entry[:type] = :submodule
|
108
|
+
entry[:url] = meta[:url]
|
109
|
+
end
|
110
|
+
end
|
111
|
+
entry
|
112
|
+
end
|
113
|
+
|
114
|
+
deferrable.succeed(Dolt::Git::Tree.new(tree.oid, entries))
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
75
118
|
def deferred_method(cmd, &block)
|
76
119
|
d = EventMachine::DefaultDeferrable.new
|
77
120
|
cmd = git(cmd)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#--
|
3
|
+
# Copyright (C) 2012 Gitorious AS
|
4
|
+
#
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU Affero General Public License as published by
|
7
|
+
# the Free Software Foundation, either version 3 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU Affero General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
#++
|
18
|
+
|
19
|
+
module Dolt
|
20
|
+
module Git
|
21
|
+
class Submodule
|
22
|
+
def self.parse_config(config)
|
23
|
+
config.split("\n").inject([]) do |modules, line|
|
24
|
+
if line =~ /\[submodule ".*"\]/
|
25
|
+
modules << {}
|
26
|
+
else
|
27
|
+
_, key, val = *line.match(/\s([^\s]+) = ([^\s]+)/)
|
28
|
+
modules.last[key.to_sym] = val
|
29
|
+
end
|
30
|
+
modules
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#--
|
3
|
+
# Copyright (C) 2012 Gitorious AS
|
4
|
+
#
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU Affero General Public License as published by
|
7
|
+
# the Free Software Foundation, either version 3 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU Affero General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
#++
|
18
|
+
|
19
|
+
module Dolt
|
20
|
+
module Git
|
21
|
+
class Tree
|
22
|
+
attr_reader :oid, :entries
|
23
|
+
include Enumerable
|
24
|
+
|
25
|
+
def initialize(oid, entries)
|
26
|
+
@oid = oid
|
27
|
+
@entries = entries
|
28
|
+
end
|
29
|
+
|
30
|
+
def each(&block)
|
31
|
+
entries.each(&block)
|
32
|
+
end
|
33
|
+
|
34
|
+
# From Rugged::Tree
|
35
|
+
def inspect
|
36
|
+
data = "#<Dolt::Git::Tree:#{object_id} {oid: #{oid}}>\n"
|
37
|
+
self.each { |e| data << " <\"#{e[:name]}\" #{e[:oid]}>\n" }
|
38
|
+
data
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/dolt/repo_actions.rb
CHANGED
data/lib/dolt/sinatra/actions.rb
CHANGED
@@ -60,7 +60,7 @@ module Dolt
|
|
60
60
|
actions.tree(repo, ref, path) do |err, data|
|
61
61
|
return error(err, repo, ref) if !err.nil?
|
62
62
|
tree = data[:tree]
|
63
|
-
return redirect(blob_url(repo, ref, path)) if
|
63
|
+
return redirect(blob_url(repo, ref, path)) if tree.class.to_s !~ /\bTree/
|
64
64
|
response["Content-Type"] = "text/html"
|
65
65
|
body(renderer.render(:tree, data))
|
66
66
|
end
|
data/lib/dolt/version.rb
CHANGED
data/lib/dolt/view/object.rb
CHANGED
@@ -20,6 +20,7 @@ module Dolt
|
|
20
20
|
module View
|
21
21
|
module Object
|
22
22
|
def object_url(repository, ref, path, object)
|
23
|
+
return object[:url] if object[:type] == :submodule
|
23
24
|
url = "/#{object[:type]}/#{ref}:#{object_path(path, object)}"
|
24
25
|
repo_url(repository, url)
|
25
26
|
end
|
@@ -29,7 +30,14 @@ module Dolt
|
|
29
30
|
end
|
30
31
|
|
31
32
|
def object_icon_class(entry)
|
32
|
-
entry[:type]
|
33
|
+
case entry[:type]
|
34
|
+
when :blob
|
35
|
+
"icon-file"
|
36
|
+
when :tree
|
37
|
+
"icon-folder-close"
|
38
|
+
when :submodule
|
39
|
+
"icon-hdd"
|
40
|
+
end
|
33
41
|
end
|
34
42
|
end
|
35
43
|
end
|
data/lib/dolt/view/tree.rb
CHANGED
@@ -21,10 +21,50 @@ require "time"
|
|
21
21
|
|
22
22
|
describe Dolt::Git::Repository do
|
23
23
|
include EM::MiniTest::Spec
|
24
|
+
before { @repository = Dolt::Git::Repository.new(".") }
|
24
25
|
|
25
|
-
describe "#
|
26
|
-
|
26
|
+
describe "#submodules" do
|
27
|
+
it "returns deferrable" do
|
28
|
+
deferrable = @repository.submodules("master")
|
29
|
+
assert deferrable.respond_to?(:callback)
|
30
|
+
assert deferrable.respond_to?(:errback)
|
31
|
+
end
|
27
32
|
|
33
|
+
it "yields list of submodules" do
|
34
|
+
@repository.submodules("c1f6cd9").callback do |submodules|
|
35
|
+
url = "git://gitorious.org/gitorious/ui3.git"
|
36
|
+
assert_equal [{ :path => "vendor/ui", :url => url }], submodules
|
37
|
+
done!
|
38
|
+
end
|
39
|
+
wait!
|
40
|
+
end
|
41
|
+
|
42
|
+
it "resolves with empty array if no submodules" do
|
43
|
+
@repository.submodules("26139a3").callback do |submodules|
|
44
|
+
assert_equal [], submodules
|
45
|
+
done!
|
46
|
+
end
|
47
|
+
wait!
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "#tree" do
|
52
|
+
it "includes submodule data for trees" do
|
53
|
+
@repository.tree("master", "vendor").callback do |tree|
|
54
|
+
assert_equal({
|
55
|
+
:type => :submodule,
|
56
|
+
:filemode => 57344,
|
57
|
+
:name => "ui",
|
58
|
+
:oid => "2b05baa5a2e626cb1a4c4b30299c1db5490979b7",
|
59
|
+
:url => "git://gitorious.org/gitorious/ui3.git"
|
60
|
+
}, tree.entries.first)
|
61
|
+
done!
|
62
|
+
end
|
63
|
+
wait!
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "#blame" do
|
28
68
|
it "returns deferrable" do
|
29
69
|
deferrable = @repository.blame("master", "Gemfile")
|
30
70
|
assert deferrable.respond_to?(:callback)
|
@@ -41,8 +81,6 @@ describe Dolt::Git::Repository do
|
|
41
81
|
end
|
42
82
|
|
43
83
|
describe "#log" do
|
44
|
-
before { @repository = Dolt::Git::Repository.new(".") }
|
45
|
-
|
46
84
|
it "returns deferrable" do
|
47
85
|
deferrable = @repository.log("master", "Gemfile", 1)
|
48
86
|
assert deferrable.respond_to?(:callback)
|
@@ -60,8 +98,6 @@ describe Dolt::Git::Repository do
|
|
60
98
|
end
|
61
99
|
|
62
100
|
describe "#tree_history" do
|
63
|
-
before { @repository = Dolt::Git::Repository.new(".") }
|
64
|
-
|
65
101
|
it "returns deferrable" do
|
66
102
|
deferrable = @repository.tree_history("master", "")
|
67
103
|
assert deferrable.respond_to?(:callback)
|
@@ -97,13 +133,13 @@ describe Dolt::Git::Repository do
|
|
97
133
|
:filemode => 33188,
|
98
134
|
:name => ".gitmodules",
|
99
135
|
:history => [{
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
136
|
+
:oid => "906d67b4f3e5de7364ba9b57d174d8998d53ced6",
|
137
|
+
:author => { :name => "Christian Johansen",
|
138
|
+
:email => "christian@cjohansen.no" },
|
139
|
+
:summary => "Working Moron server for viewing blobs",
|
140
|
+
:date => Time.parse("Mon Sep 10 15:07:39 +0200 2012"),
|
141
|
+
:message => ""
|
142
|
+
}]
|
107
143
|
}
|
108
144
|
|
109
145
|
assert_equal expected, log[0]
|
@@ -122,19 +158,19 @@ describe Dolt::Git::Repository do
|
|
122
158
|
|
123
159
|
promise.callback do |log|
|
124
160
|
expected = [{
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
161
|
+
:type => :tree,
|
162
|
+
:oid => "58f84405b588699b24c619aa4cd83669c5623f88",
|
163
|
+
:filemode => 16384,
|
164
|
+
:name => "dolt",
|
165
|
+
:history => [{
|
166
|
+
:oid => "8ab4f8c42511f727244a02aeee04824891610bbd",
|
167
|
+
:author => { :name => "Christian Johansen",
|
168
|
+
:email => "christian@gitorious.com" },
|
169
|
+
:summary => "New version",
|
170
|
+
:date => Time.parse("Mon Oct 1 16:34:00 +0200 2012"),
|
171
|
+
:message => ""
|
172
|
+
}]
|
173
|
+
}]
|
138
174
|
|
139
175
|
assert_equal expected, log
|
140
176
|
done!
|
@@ -61,11 +61,23 @@ describe Dolt::View::Object do
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
|
65
|
-
|
64
|
+
describe "#object_icon_class" do
|
65
|
+
it "returns blob icon type" do
|
66
|
+
assert_equal "icon-file", object_icon_class({ :type => :blob })
|
67
|
+
end
|
68
|
+
|
69
|
+
it "returns tree icon type" do
|
70
|
+
assert_equal "icon-folder-close", object_icon_class({ :type => :tree })
|
71
|
+
end
|
72
|
+
|
73
|
+
it "returns submodule icon type" do
|
74
|
+
assert_equal "icon-hdd", object_icon_class({ :type => :submodule })
|
75
|
+
end
|
66
76
|
end
|
67
77
|
|
68
|
-
it "
|
69
|
-
|
78
|
+
it "links submodule object to submodule" do
|
79
|
+
url = "git://gitorious.org/gitorious/ui3.git"
|
80
|
+
object = { :type => :submodule, :url => url }
|
81
|
+
assert_equal url, object_url("gitorious", "master", "vendor", object)
|
70
82
|
end
|
71
83
|
end
|
data/test/dolt/view/tree_test.rb
CHANGED
@@ -70,6 +70,18 @@ describe Dolt::View::Tree do
|
|
70
70
|
assert_equal "version.rb", entries[7][:name]
|
71
71
|
assert_equal "view.rb", entries[8][:name]
|
72
72
|
end
|
73
|
+
|
74
|
+
it "lumps submodules in with directories" do
|
75
|
+
async = { :name => "async", :type => :tree }
|
76
|
+
disk_repo_resolver = { :type => :blob, :name => "disk_repo_resolver.rb" }
|
77
|
+
git = { :type => :submodule, :name => "git" }
|
78
|
+
tree = OpenStruct.new({ :entries => [async, disk_repo_resolver, git] })
|
79
|
+
entries = tree_entries(tree)
|
80
|
+
|
81
|
+
assert_equal :tree, entries[0][:type]
|
82
|
+
assert_equal :submodule, entries[1][:type]
|
83
|
+
assert_equal :blob, entries[2][:type]
|
84
|
+
end
|
73
85
|
end
|
74
86
|
|
75
87
|
describe "#partition_path" do
|
@@ -4,7 +4,23 @@ this.gts = this.gts || {};
|
|
4
4
|
this.gts.treeHistory = (function (c, $) {
|
5
5
|
var th = function (table, url) {
|
6
6
|
var cell = $(table).find("tbody tr:first td")[2];
|
7
|
-
var spinner = new Spinner(
|
7
|
+
var spinner = new Spinner({
|
8
|
+
lines: 13,
|
9
|
+
length: 1,
|
10
|
+
width: 2,
|
11
|
+
radius: 6,
|
12
|
+
corners: 1,
|
13
|
+
rotate: 0,
|
14
|
+
color: "#000",
|
15
|
+
speed: 1,
|
16
|
+
trail: 60,
|
17
|
+
shadow: false,
|
18
|
+
hwaccel: true,
|
19
|
+
className: "spinner",
|
20
|
+
zIndex: 2e9,
|
21
|
+
top: "auto",
|
22
|
+
left: "auto"
|
23
|
+
}).spin(cell);
|
8
24
|
$.ajax({
|
9
25
|
url: url,
|
10
26
|
success: function (tree) {
|
metadata
CHANGED
@@ -1,233 +1,317 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dolt
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 9
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
- 3
|
10
|
+
version: 0.4.3
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Christian Johansen
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-10-04 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
15
22
|
name: eventmachine
|
16
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
25
|
none: false
|
18
|
-
requirements:
|
26
|
+
requirements:
|
19
27
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 15
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 0
|
33
|
+
version: "1.0"
|
22
34
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
26
37
|
name: thin
|
27
|
-
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
40
|
none: false
|
29
|
-
requirements:
|
41
|
+
requirements:
|
30
42
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 7
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 4
|
48
|
+
version: "1.4"
|
33
49
|
type: :runtime
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
37
52
|
name: sinatra
|
38
|
-
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
55
|
none: false
|
40
|
-
requirements:
|
56
|
+
requirements:
|
41
57
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 9
|
60
|
+
segments:
|
61
|
+
- 1
|
62
|
+
- 3
|
63
|
+
version: "1.3"
|
44
64
|
type: :runtime
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
65
|
+
version_requirements: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
48
67
|
name: async_sinatra
|
49
|
-
|
68
|
+
prerelease: false
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
70
|
none: false
|
51
|
-
requirements:
|
71
|
+
requirements:
|
52
72
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 15
|
75
|
+
segments:
|
76
|
+
- 1
|
77
|
+
- 0
|
78
|
+
version: "1.0"
|
55
79
|
type: :runtime
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
59
82
|
name: tilt
|
60
|
-
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
85
|
none: false
|
62
|
-
requirements:
|
86
|
+
requirements:
|
63
87
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 9
|
90
|
+
segments:
|
91
|
+
- 1
|
92
|
+
- 3
|
93
|
+
version: "1.3"
|
66
94
|
type: :runtime
|
67
|
-
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
95
|
+
version_requirements: *id005
|
96
|
+
- !ruby/object:Gem::Dependency
|
70
97
|
name: pygments.rb
|
71
|
-
|
98
|
+
prerelease: false
|
99
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
100
|
none: false
|
73
|
-
requirements:
|
101
|
+
requirements:
|
74
102
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 15
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
- 2
|
108
|
+
version: "0.2"
|
77
109
|
type: :runtime
|
78
|
-
|
79
|
-
|
80
|
-
- !ruby/object:Gem::Dependency
|
110
|
+
version_requirements: *id006
|
111
|
+
- !ruby/object:Gem::Dependency
|
81
112
|
name: em_pessimistic
|
82
|
-
|
113
|
+
prerelease: false
|
114
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
115
|
none: false
|
84
|
-
requirements:
|
116
|
+
requirements:
|
85
117
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
hash: 9
|
120
|
+
segments:
|
121
|
+
- 0
|
122
|
+
- 1
|
123
|
+
version: "0.1"
|
88
124
|
type: :runtime
|
89
|
-
|
90
|
-
|
91
|
-
- !ruby/object:Gem::Dependency
|
125
|
+
version_requirements: *id007
|
126
|
+
- !ruby/object:Gem::Dependency
|
92
127
|
name: builder
|
93
|
-
|
128
|
+
prerelease: false
|
129
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
94
130
|
none: false
|
95
|
-
requirements:
|
131
|
+
requirements:
|
96
132
|
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 5
|
135
|
+
segments:
|
136
|
+
- 3
|
137
|
+
- 1
|
138
|
+
version: "3.1"
|
99
139
|
type: :runtime
|
100
|
-
|
101
|
-
|
102
|
-
- !ruby/object:Gem::Dependency
|
140
|
+
version_requirements: *id008
|
141
|
+
- !ruby/object:Gem::Dependency
|
103
142
|
name: em_rugged
|
104
|
-
|
143
|
+
prerelease: false
|
144
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
|
-
requirements:
|
146
|
+
requirements:
|
107
147
|
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
hash: 31
|
150
|
+
segments:
|
151
|
+
- 0
|
152
|
+
- 1
|
153
|
+
- 2
|
109
154
|
version: 0.1.2
|
110
155
|
type: :runtime
|
111
|
-
|
112
|
-
|
113
|
-
- !ruby/object:Gem::Dependency
|
156
|
+
version_requirements: *id009
|
157
|
+
- !ruby/object:Gem::Dependency
|
114
158
|
name: tzinfo
|
115
|
-
|
159
|
+
prerelease: false
|
160
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
116
161
|
none: false
|
117
|
-
requirements:
|
162
|
+
requirements:
|
118
163
|
- - ~>
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
hash: 13
|
166
|
+
segments:
|
167
|
+
- 0
|
168
|
+
- 3
|
169
|
+
version: "0.3"
|
121
170
|
type: :runtime
|
122
|
-
|
123
|
-
|
124
|
-
- !ruby/object:Gem::Dependency
|
171
|
+
version_requirements: *id010
|
172
|
+
- !ruby/object:Gem::Dependency
|
125
173
|
name: github-markup
|
126
|
-
|
174
|
+
prerelease: false
|
175
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
127
176
|
none: false
|
128
|
-
requirements:
|
177
|
+
requirements:
|
129
178
|
- - ~>
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
hash: 5
|
181
|
+
segments:
|
182
|
+
- 0
|
183
|
+
- 7
|
184
|
+
version: "0.7"
|
132
185
|
type: :runtime
|
133
|
-
|
134
|
-
|
135
|
-
- !ruby/object:Gem::Dependency
|
186
|
+
version_requirements: *id011
|
187
|
+
- !ruby/object:Gem::Dependency
|
136
188
|
name: htmlentities
|
137
|
-
|
189
|
+
prerelease: false
|
190
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
138
191
|
none: false
|
139
|
-
requirements:
|
192
|
+
requirements:
|
140
193
|
- - ~>
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
hash: 29
|
196
|
+
segments:
|
197
|
+
- 4
|
198
|
+
- 3
|
199
|
+
version: "4.3"
|
143
200
|
type: :runtime
|
144
|
-
|
145
|
-
|
146
|
-
- !ruby/object:Gem::Dependency
|
201
|
+
version_requirements: *id012
|
202
|
+
- !ruby/object:Gem::Dependency
|
147
203
|
name: json
|
148
|
-
|
204
|
+
prerelease: false
|
205
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
149
206
|
none: false
|
150
|
-
requirements:
|
207
|
+
requirements:
|
151
208
|
- - ~>
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
hash: 1
|
211
|
+
segments:
|
212
|
+
- 1
|
213
|
+
- 7
|
214
|
+
version: "1.7"
|
154
215
|
type: :runtime
|
155
|
-
|
156
|
-
|
157
|
-
- !ruby/object:Gem::Dependency
|
216
|
+
version_requirements: *id013
|
217
|
+
- !ruby/object:Gem::Dependency
|
158
218
|
name: mime-types
|
159
|
-
|
219
|
+
prerelease: false
|
220
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
160
221
|
none: false
|
161
|
-
requirements:
|
222
|
+
requirements:
|
162
223
|
- - ~>
|
163
|
-
- !ruby/object:Gem::Version
|
164
|
-
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
hash: 41
|
226
|
+
segments:
|
227
|
+
- 1
|
228
|
+
- 19
|
229
|
+
version: "1.19"
|
165
230
|
type: :runtime
|
166
|
-
|
167
|
-
|
168
|
-
- !ruby/object:Gem::Dependency
|
231
|
+
version_requirements: *id014
|
232
|
+
- !ruby/object:Gem::Dependency
|
169
233
|
name: minitest
|
170
|
-
|
234
|
+
prerelease: false
|
235
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
171
236
|
none: false
|
172
|
-
requirements:
|
237
|
+
requirements:
|
173
238
|
- - ~>
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
hash: 3
|
241
|
+
segments:
|
242
|
+
- 2
|
243
|
+
- 0
|
244
|
+
version: "2.0"
|
176
245
|
type: :development
|
177
|
-
|
178
|
-
|
179
|
-
- !ruby/object:Gem::Dependency
|
246
|
+
version_requirements: *id015
|
247
|
+
- !ruby/object:Gem::Dependency
|
180
248
|
name: em-minitest-spec
|
181
|
-
|
249
|
+
prerelease: false
|
250
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
182
251
|
none: false
|
183
|
-
requirements:
|
252
|
+
requirements:
|
184
253
|
- - ~>
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
hash: 13
|
256
|
+
segments:
|
257
|
+
- 1
|
258
|
+
- 1
|
259
|
+
version: "1.1"
|
187
260
|
type: :development
|
188
|
-
|
189
|
-
|
190
|
-
- !ruby/object:Gem::Dependency
|
261
|
+
version_requirements: *id016
|
262
|
+
- !ruby/object:Gem::Dependency
|
191
263
|
name: rake
|
192
|
-
|
264
|
+
prerelease: false
|
265
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
193
266
|
none: false
|
194
|
-
requirements:
|
267
|
+
requirements:
|
195
268
|
- - ~>
|
196
|
-
- !ruby/object:Gem::Version
|
197
|
-
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
hash: 25
|
271
|
+
segments:
|
272
|
+
- 0
|
273
|
+
- 9
|
274
|
+
version: "0.9"
|
198
275
|
type: :development
|
199
|
-
|
200
|
-
|
201
|
-
- !ruby/object:Gem::Dependency
|
276
|
+
version_requirements: *id017
|
277
|
+
- !ruby/object:Gem::Dependency
|
202
278
|
name: mocha
|
203
|
-
|
279
|
+
prerelease: false
|
280
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
204
281
|
none: false
|
205
|
-
requirements:
|
206
|
-
- -
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
hash: 3
|
286
|
+
segments:
|
287
|
+
- 0
|
288
|
+
version: "0"
|
209
289
|
type: :development
|
210
|
-
|
211
|
-
|
212
|
-
- !ruby/object:Gem::Dependency
|
290
|
+
version_requirements: *id018
|
291
|
+
- !ruby/object:Gem::Dependency
|
213
292
|
name: redcarpet
|
214
|
-
|
293
|
+
prerelease: false
|
294
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
215
295
|
none: false
|
216
|
-
requirements:
|
217
|
-
- -
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
|
296
|
+
requirements:
|
297
|
+
- - ">="
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
hash: 3
|
300
|
+
segments:
|
301
|
+
- 0
|
302
|
+
version: "0"
|
220
303
|
type: :development
|
221
|
-
|
222
|
-
version_requirements: *8707280
|
304
|
+
version_requirements: *id019
|
223
305
|
description: Dolt serves git trees and syntax highlighted blobs
|
224
|
-
email:
|
306
|
+
email:
|
225
307
|
- christian@gitorious.org
|
226
|
-
executables:
|
308
|
+
executables:
|
227
309
|
- dolt
|
228
310
|
extensions: []
|
311
|
+
|
229
312
|
extra_rdoc_files: []
|
230
|
-
|
313
|
+
|
314
|
+
files:
|
231
315
|
- ./.gitmodules
|
232
316
|
- ./Gemfile
|
233
317
|
- ./Gemfile.lock
|
@@ -240,6 +324,8 @@ files:
|
|
240
324
|
- ./lib/dolt/git/blame.rb
|
241
325
|
- ./lib/dolt/git/commit.rb
|
242
326
|
- ./lib/dolt/git/repository.rb
|
327
|
+
- ./lib/dolt/git/submodule.rb
|
328
|
+
- ./lib/dolt/git/tree.rb
|
243
329
|
- ./lib/dolt/repo_actions.rb
|
244
330
|
- ./lib/dolt/sinatra/actions.rb
|
245
331
|
- ./lib/dolt/sinatra/base.rb
|
@@ -329,28 +415,39 @@ files:
|
|
329
415
|
- vendor/ui/test/tree-history-test.js
|
330
416
|
- vendor/ui/test/url-template-test.js
|
331
417
|
- bin/dolt
|
418
|
+
has_rdoc: true
|
332
419
|
homepage: http://gitorious.org/gitorious/dolt
|
333
420
|
licenses: []
|
421
|
+
|
334
422
|
post_install_message:
|
335
423
|
rdoc_options: []
|
336
|
-
|
424
|
+
|
425
|
+
require_paths:
|
337
426
|
- lib
|
338
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
427
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
339
428
|
none: false
|
340
|
-
requirements:
|
341
|
-
- -
|
342
|
-
- !ruby/object:Gem::Version
|
343
|
-
|
344
|
-
|
429
|
+
requirements:
|
430
|
+
- - ">="
|
431
|
+
- !ruby/object:Gem::Version
|
432
|
+
hash: 3
|
433
|
+
segments:
|
434
|
+
- 0
|
435
|
+
version: "0"
|
436
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
345
437
|
none: false
|
346
|
-
requirements:
|
347
|
-
- -
|
348
|
-
- !ruby/object:Gem::Version
|
349
|
-
|
438
|
+
requirements:
|
439
|
+
- - ">="
|
440
|
+
- !ruby/object:Gem::Version
|
441
|
+
hash: 3
|
442
|
+
segments:
|
443
|
+
- 0
|
444
|
+
version: "0"
|
350
445
|
requirements: []
|
446
|
+
|
351
447
|
rubyforge_project: dolt
|
352
|
-
rubygems_version: 1.
|
448
|
+
rubygems_version: 1.4.2
|
353
449
|
signing_key:
|
354
450
|
specification_version: 3
|
355
451
|
summary: Dolt serves git trees and syntax highlighted blobs
|
356
452
|
test_files: []
|
453
|
+
|