dolt 0.5.1 → 0.6.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 +21 -18
- data/Readme.md +3 -5
- data/bin/dolt +3 -6
- data/dolt.gemspec +5 -16
- data/lib/dolt/sinatra/multi_repo_browser.rb +3 -3
- data/lib/dolt/sinatra/single_repo_browser.rb +3 -3
- data/test/test_helper.rb +5 -3
- data/vendor/ui/css/gitorious.css +5 -0
- metadata +23 -239
- data/lib/dolt/async/when.rb +0 -128
- data/lib/dolt/disk_repo_resolver.rb +0 -39
- data/lib/dolt/git/blame.rb +0 -112
- data/lib/dolt/git/commit.rb +0 -73
- data/lib/dolt/git/repository.rb +0 -139
- data/lib/dolt/git/submodule.rb +0 -35
- data/lib/dolt/git/tree.rb +0 -42
- data/lib/dolt/repo_actions.rb +0 -91
- data/lib/dolt/template_renderer.rb +0 -67
- data/lib/dolt/version.rb +0 -21
- data/lib/dolt/view.rb +0 -23
- data/lib/dolt/view/binary_blob_embedder.rb +0 -41
- data/lib/dolt/view/blame.rb +0 -57
- data/lib/dolt/view/blob.rb +0 -97
- data/lib/dolt/view/breadcrumb.rb +0 -47
- data/lib/dolt/view/commit.rb +0 -27
- data/lib/dolt/view/gravatar.rb +0 -29
- data/lib/dolt/view/markup.rb +0 -107
- data/lib/dolt/view/multi_repository.rb +0 -27
- data/lib/dolt/view/object.rb +0 -44
- data/lib/dolt/view/single_repository.rb +0 -27
- data/lib/dolt/view/smart_blob_renderer.rb +0 -33
- data/lib/dolt/view/syntax_highlight.rb +0 -90
- data/lib/dolt/view/tab_width.rb +0 -30
- data/lib/dolt/view/tree.rb +0 -100
- data/test/dolt/async/when_test.rb +0 -112
- data/test/dolt/git/blame_test.rb +0 -128
- data/test/dolt/git/commit_test.rb +0 -89
- data/test/dolt/git/repository_test.rb +0 -186
- data/test/dolt/repo_actions_test.rb +0 -236
- data/test/dolt/template_renderer_test.rb +0 -122
- data/test/dolt/templates/blame_test.rb +0 -56
- data/test/dolt/templates/blob_test.rb +0 -118
- data/test/dolt/templates/commits_test.rb +0 -61
- data/test/dolt/templates/raw_test.rb +0 -41
- data/test/dolt/templates/refs_test.rb +0 -38
- data/test/dolt/templates/tree_history_test.rb +0 -93
- data/test/dolt/templates/tree_test.rb +0 -65
- data/test/dolt/view/binary_blob_embedder_test.rb +0 -49
- data/test/dolt/view/blame_test.rb +0 -122
- data/test/dolt/view/blob_test.rb +0 -116
- data/test/dolt/view/breadcrumb_test.rb +0 -46
- data/test/dolt/view/commit_test.rb +0 -31
- data/test/dolt/view/gravatar_test.rb +0 -30
- data/test/dolt/view/markup_test.rb +0 -94
- data/test/dolt/view/multi_repository_test.rb +0 -35
- data/test/dolt/view/object_test.rb +0 -83
- data/test/dolt/view/single_repository_test.rb +0 -30
- data/test/dolt/view/smart_blob_renderer_test.rb +0 -38
- data/test/dolt/view/syntax_highlight_test.rb +0 -108
- data/test/dolt/view/tab_width_test.rb +0 -40
- data/test/dolt/view/tree_test.rb +0 -199
- data/views/500.erb +0 -22
- data/views/blame.erb +0 -42
- data/views/blob.erb +0 -31
- data/views/commits.erb +0 -26
- data/views/index.erb +0 -25
- data/views/layout.erb +0 -45
- data/views/raw.erb +0 -19
- data/views/refs.erb +0 -22
- data/views/tree.erb +0 -50
- data/views/tree_history.erb +0 -19
@@ -1,38 +0,0 @@
|
|
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
|
-
require "test_helper"
|
19
|
-
require "dolt/view/smart_blob_renderer"
|
20
|
-
|
21
|
-
describe Dolt::View::SmartBlobRenderer do
|
22
|
-
include Dolt::View::Blob
|
23
|
-
include Dolt::View::SmartBlobRenderer
|
24
|
-
|
25
|
-
describe "#format_text_blob" do
|
26
|
-
it "highlights a Ruby file" do
|
27
|
-
html = format_text_blob("file.rb", "class File\n attr_reader :path\nend")
|
28
|
-
|
29
|
-
assert_match "<span class=\"k\">class</span>", html
|
30
|
-
assert_match "<span class=\"nc\">File</span>", html
|
31
|
-
end
|
32
|
-
|
33
|
-
it "wraps markup in .gts-markup" do
|
34
|
-
html = render_markup("file.md", "# Hey")
|
35
|
-
assert_match "<div class=\"gts-markup\">", html
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,108 +0,0 @@
|
|
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
|
-
require "test_helper"
|
19
|
-
require "dolt/view/single_repository"
|
20
|
-
require "dolt/view/multi_repository"
|
21
|
-
require "dolt/view/blob"
|
22
|
-
require "dolt/view/syntax_highlight"
|
23
|
-
|
24
|
-
describe Dolt::View::Blob do
|
25
|
-
include Dolt::View::Blob
|
26
|
-
include Dolt::View::SyntaxHighlight
|
27
|
-
|
28
|
-
describe "#highlight" do
|
29
|
-
it "highlights a Ruby file" do
|
30
|
-
html = highlight("file.rb", "class File\n attr_reader :path\nend")
|
31
|
-
|
32
|
-
assert_match "<span class=\"k\">class</span>", html
|
33
|
-
assert_match "<span class=\"nc\">File</span>", html
|
34
|
-
end
|
35
|
-
|
36
|
-
it "highlights a YAML file" do
|
37
|
-
html = highlight("file.yml", "something:\n is: true")
|
38
|
-
|
39
|
-
assert_match "<span class=\"l-Scalar-Plain\">something</span>", html
|
40
|
-
assert_match "<span class=\"p-Indicator\">:", html
|
41
|
-
end
|
42
|
-
|
43
|
-
it "highlights an .htm file" do
|
44
|
-
html = highlight("file.htm", "<h1>Hey</h1>")
|
45
|
-
|
46
|
-
assert_match "<span class=\"nt\"><h1></span>", html
|
47
|
-
assert_match "Hey<span class=\"nt\"></h1></span>", html
|
48
|
-
end
|
49
|
-
|
50
|
-
it "highlights file with custom suffix" do
|
51
|
-
Dolt::View::SyntaxHighlight.add_lexer_alias("derp", "rb")
|
52
|
-
html = highlight("file.derp", "class File")
|
53
|
-
|
54
|
-
assert_match "<span class=\"k\">class</span>", html
|
55
|
-
assert_match "<span class=\"nc\">File</span>", html
|
56
|
-
end
|
57
|
-
|
58
|
-
it "skips highlighting if lexer is missing" do
|
59
|
-
html = highlight("file.trololol", "Yeah yeah yeah")
|
60
|
-
|
61
|
-
assert_equal "Yeah yeah yeah", html
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
describe "#format_blob" do
|
66
|
-
it "highlights a Ruby file with line nums" do
|
67
|
-
html = format_blob("file.rb", "class File\n attr_reader :path\nend")
|
68
|
-
|
69
|
-
assert_match "<li class=\"L1\">", html
|
70
|
-
assert_match "<span class=\"k\">class</span>", html
|
71
|
-
end
|
72
|
-
|
73
|
-
it "includes lexer as class name" do
|
74
|
-
html = format_blob("file.rb", "class File\n attr_reader :path\nend")
|
75
|
-
|
76
|
-
assert_match "rb", html
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
describe "#lexer" do
|
81
|
-
it "uses known suffix" do
|
82
|
-
assert_equal "rb", lexer("file.rb")
|
83
|
-
end
|
84
|
-
|
85
|
-
it "uses registered suffix" do
|
86
|
-
Dolt::View::SyntaxHighlight.add_lexer_alias("blarg", "blarg")
|
87
|
-
assert_equal "blarg", lexer("file.blarg")
|
88
|
-
end
|
89
|
-
|
90
|
-
it "uses registered lexer" do
|
91
|
-
Dolt::View::SyntaxHighlight.add_lexer_alias("bg", "blarg")
|
92
|
-
assert_equal "blarg", lexer("file.bg")
|
93
|
-
end
|
94
|
-
|
95
|
-
it "uses known shebang" do
|
96
|
-
assert_equal "rb", lexer("some-binary", "#!/usr/bin/env ruby\n")
|
97
|
-
end
|
98
|
-
|
99
|
-
it "uses registered shebang" do
|
100
|
-
Dolt::View::SyntaxHighlight.add_lexer_shebang(/\bnode\b/, "js")
|
101
|
-
assert_equal "js", lexer("some-binary", "#!/usr/bin/env node\n")
|
102
|
-
end
|
103
|
-
|
104
|
-
it "uses filename for unknown lexer" do
|
105
|
-
assert_equal "some-binary", lexer("some-binary", "class Person\nend")
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
@@ -1,40 +0,0 @@
|
|
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
|
-
require "test_helper"
|
19
|
-
require "dolt/view/tab_width"
|
20
|
-
|
21
|
-
describe Dolt::View::TabWidth do
|
22
|
-
include Dolt::View::Blob
|
23
|
-
include Dolt::View::TabWidth
|
24
|
-
|
25
|
-
describe "#format_whitespace" do
|
26
|
-
it "limits width of whitespace" do
|
27
|
-
Dolt::View::TabWidth.tab_width = 4
|
28
|
-
html = format_whitespace("class File\n\tattr_reader :path\nend")
|
29
|
-
|
30
|
-
assert_match(/ attr_reader/, html)
|
31
|
-
end
|
32
|
-
|
33
|
-
it "uses wide tabs in formatted blobs" do
|
34
|
-
Dolt::View::TabWidth.tab_width = 12
|
35
|
-
html = format_text_blob("file.rb", "class File\n\tattr_reader :path\nend")
|
36
|
-
|
37
|
-
assert_match(/ attr_reader/, html)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
data/test/dolt/view/tree_test.rb
DELETED
@@ -1,199 +0,0 @@
|
|
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
|
-
require "test_helper"
|
19
|
-
require "dolt/view/single_repository"
|
20
|
-
require "dolt/view/object"
|
21
|
-
require "dolt/view/tree"
|
22
|
-
require "ostruct"
|
23
|
-
|
24
|
-
describe Dolt::View::Tree do
|
25
|
-
include Dolt::Html
|
26
|
-
include Dolt::View::SingleRepository
|
27
|
-
include Dolt::View::Object
|
28
|
-
include Dolt::View::Tree
|
29
|
-
|
30
|
-
describe "#tree_entries" do
|
31
|
-
before do
|
32
|
-
async = { :name => "async", :type => :tree }
|
33
|
-
disk_repo_resolver = { :type => :blob, :name => "disk_repo_resolver.rb" }
|
34
|
-
git = { :type => :tree, :name => "git" }
|
35
|
-
repo_actions = { :type => :blob, :name => "repo_actions.rb" }
|
36
|
-
sinatra = { :type => :tree, :name => "sinatra" }
|
37
|
-
template_renderer = { :type => :blob, :name => "template_renderer.rb" }
|
38
|
-
version = { :type => :blob, :name => "version.rb" }
|
39
|
-
view_rb = { :type => :blob, :name => "view.rb" }
|
40
|
-
view = { :type => :tree, :name => "view" }
|
41
|
-
@tree = OpenStruct.new({ :entries => [async, disk_repo_resolver, git,
|
42
|
-
repo_actions, sinatra, template_renderer,
|
43
|
-
version, view_rb, view] })
|
44
|
-
end
|
45
|
-
|
46
|
-
it "groups tree by type, dirs first" do
|
47
|
-
entries = tree_entries(@tree)
|
48
|
-
|
49
|
-
assert_equal :tree, entries[0][:type]
|
50
|
-
assert_equal :tree, entries[1][:type]
|
51
|
-
assert_equal :tree, entries[2][:type]
|
52
|
-
assert_equal :tree, entries[3][:type]
|
53
|
-
assert_equal :blob, entries[4][:type]
|
54
|
-
assert_equal :blob, entries[5][:type]
|
55
|
-
assert_equal :blob, entries[6][:type]
|
56
|
-
assert_equal :blob, entries[7][:type]
|
57
|
-
assert_equal :blob, entries[8][:type]
|
58
|
-
end
|
59
|
-
|
60
|
-
it "sorts by name" do
|
61
|
-
entries = tree_entries(@tree)
|
62
|
-
|
63
|
-
assert_equal "async", entries[0][:name]
|
64
|
-
assert_equal "git", entries[1][:name]
|
65
|
-
assert_equal "sinatra", entries[2][:name]
|
66
|
-
assert_equal "view", entries[3][:name]
|
67
|
-
assert_equal "disk_repo_resolver.rb", entries[4][:name]
|
68
|
-
assert_equal "repo_actions.rb", entries[5][:name]
|
69
|
-
assert_equal "template_renderer.rb", entries[6][:name]
|
70
|
-
assert_equal "version.rb", entries[7][:name]
|
71
|
-
assert_equal "view.rb", entries[8][:name]
|
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
|
85
|
-
end
|
86
|
-
|
87
|
-
describe "#partition_path" do
|
88
|
-
it "partitions root into double array" do
|
89
|
-
parts = partition_path("")
|
90
|
-
assert_equal [[""]], parts
|
91
|
-
|
92
|
-
parts = partition_path("/")
|
93
|
-
assert_equal [[""]], parts
|
94
|
-
|
95
|
-
parts = partition_path("./")
|
96
|
-
assert_equal [[""]], parts
|
97
|
-
end
|
98
|
-
|
99
|
-
it "partitions single directory" do
|
100
|
-
parts = partition_path("lib")
|
101
|
-
assert_equal [["", "lib"]], parts
|
102
|
-
end
|
103
|
-
|
104
|
-
it "partitions two directories" do
|
105
|
-
parts = partition_path("lib/dolt")
|
106
|
-
assert_equal [["", "lib"], ["dolt"]], parts
|
107
|
-
end
|
108
|
-
|
109
|
-
it "partitions multiple directories" do
|
110
|
-
parts = partition_path("lib/dolt/git/help")
|
111
|
-
assert_equal [["", "lib"], ["dolt"], ["git"], ["help"]], parts
|
112
|
-
end
|
113
|
-
|
114
|
-
it "ignore trailing slash" do
|
115
|
-
parts = partition_path("lib/dolt/")
|
116
|
-
assert_equal [["", "lib"], ["dolt"]], parts
|
117
|
-
end
|
118
|
-
|
119
|
-
it "chunks up leading path" do
|
120
|
-
parts = partition_path("lib/dolt/very/deep", 3)
|
121
|
-
assert_equal [["", "lib", "dolt"], ["very"], ["deep"]], parts
|
122
|
-
end
|
123
|
-
|
124
|
-
it "partitions short path with maxdepth" do
|
125
|
-
parts = partition_path("lib", 3)
|
126
|
-
assert_equal [["", "lib"]], parts
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
describe "#accumulate_path" do
|
131
|
-
it "accumulates partitioned path" do
|
132
|
-
parts = accumulate_path(partition_path("lib/dolt/very/deep", 3))
|
133
|
-
assert_equal [["", "lib", "lib/dolt"], ["lib/dolt/very"], ["lib/dolt/very/deep"]], parts
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
describe "#tree_context" do
|
138
|
-
def context(path, maxdepth = nil)
|
139
|
-
tree_context("gitorious", "master", accumulate_path(partition_path(path, maxdepth)))
|
140
|
-
end
|
141
|
-
|
142
|
-
it "renders root as empty string" do
|
143
|
-
assert_equal "", context("")
|
144
|
-
assert_equal "", context("/")
|
145
|
-
assert_equal "", context("./")
|
146
|
-
end
|
147
|
-
|
148
|
-
it "renders single path item as table row" do
|
149
|
-
assert_equal 1, select(context("lib"), "tr").length
|
150
|
-
assert_equal 1, select(context("./lib"), "tr").length
|
151
|
-
end
|
152
|
-
|
153
|
-
it "includes link to root in single table row" do
|
154
|
-
assert_equal 2, select(context("lib"), "a").length
|
155
|
-
end
|
156
|
-
|
157
|
-
it "renders single path item in cell" do
|
158
|
-
assert_equal 1, select(context("lib"), "td").length
|
159
|
-
end
|
160
|
-
|
161
|
-
it "renders single path item as link" do
|
162
|
-
# Two, because there's always a link to the root directory
|
163
|
-
assert_equal 2, select(context("lib"), "a").length
|
164
|
-
assert_match /lib/, select(context("lib"), "a")[1]
|
165
|
-
end
|
166
|
-
|
167
|
-
it "renders single path item with open folder icon" do
|
168
|
-
assert_match /icon-folder-open/, select(context("lib"), "i").first
|
169
|
-
end
|
170
|
-
|
171
|
-
it "renders two path items as two table rows" do
|
172
|
-
assert_equal 2, select(context("lib/dolt"), "tr").length
|
173
|
-
end
|
174
|
-
|
175
|
-
it "renders two path items with colspan in first row" do
|
176
|
-
assert_match /colspan="6"/, select(context("lib/dolt"), "tr").first
|
177
|
-
assert_match /colspan="5"/, select(context("lib/dolt"), "tr")[1]
|
178
|
-
tr = select(context("lib/dolt"), "tr")[1]
|
179
|
-
assert_equal 2, select(tr, "td").length
|
180
|
-
end
|
181
|
-
|
182
|
-
it "renders condensed first entry with slashes" do
|
183
|
-
links = select(context("src/phorkie/Database/Adapter", 3), "a")
|
184
|
-
|
185
|
-
assert_equal "<a href=\"/tree/master:\"><i class=\"icon icon-folder-open\"></i> /</a>", links.first
|
186
|
-
assert_equal "<a href=\"/tree/master:src\"> src</a>", links[1]
|
187
|
-
assert_equal "<a href=\"/tree/master:src/phorkie\">/ phorkie</a>", links[2]
|
188
|
-
end
|
189
|
-
|
190
|
-
it "renders long condensed first entry with slashes" do
|
191
|
-
links = select(context("src/phorkie/Database/Adapter/Elasticsearch", 3), "a")
|
192
|
-
|
193
|
-
assert_equal "<a href=\"/tree/master:\"><i class=\"icon icon-folder-open\"></i> /</a>", links.first
|
194
|
-
assert_equal "<a href=\"/tree/master:src\"> src</a>", links[1]
|
195
|
-
assert_equal "<a href=\"/tree/master:src/phorkie\">/ phorkie</a>", links[2]
|
196
|
-
assert_equal "<a href=\"/tree/master:src/phorkie/Database\">/ Database</a>", links[3]
|
197
|
-
end
|
198
|
-
end
|
199
|
-
end
|
data/views/500.erb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
<%#
|
2
|
-
# encoding: utf-8
|
3
|
-
#--
|
4
|
-
# Copyright (C) 2012 Gitorious AS
|
5
|
-
#
|
6
|
-
# This program is free software: you can redistribute it and/or modify
|
7
|
-
# it under the terms of the GNU Affero General Public License as published by
|
8
|
-
# the Free Software Foundation, either version 3 of the License, or
|
9
|
-
# (at your option) any later version.
|
10
|
-
#
|
11
|
-
# This program is distributed in the hope that it will be useful,
|
12
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
# GNU Affero General Public License for more details.
|
15
|
-
#
|
16
|
-
# You should have received a copy of the GNU Affero General Public License
|
17
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
18
|
-
#++
|
19
|
-
%>
|
20
|
-
<h1><%= @title = "An error occurred" %></h1>
|
21
|
-
<h2><%= error.respond_to?(:message) ? error.message : error %></h2>
|
22
|
-
<p><a href="<%= tree_url(repository, ref, "") %>">Go back</a></p>
|
data/views/blame.erb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
<%#
|
2
|
-
# encoding: utf-8
|
3
|
-
#--
|
4
|
-
# Copyright (C) 2012 Gitorious AS
|
5
|
-
#
|
6
|
-
# This program is free software: you can redistribute it and/or modify
|
7
|
-
# it under the terms of the GNU Affero General Public License as published by
|
8
|
-
# the Free Software Foundation, either version 3 of the License, or
|
9
|
-
# (at your option) any later version.
|
10
|
-
#
|
11
|
-
# This program is distributed in the hope that it will be useful,
|
12
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
# GNU Affero General Public License for more details.
|
15
|
-
#
|
16
|
-
# You should have received a copy of the GNU Affero General Public License
|
17
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
18
|
-
#++
|
19
|
-
%>
|
20
|
-
<% @title = "Blame #{path} in #{repository}:master" %>
|
21
|
-
|
22
|
-
<div class="gts-file gts-browser">
|
23
|
-
<div id="gts-ref-selector-ph"></div>
|
24
|
-
<ul class="pull-right gts-blob-view">
|
25
|
-
<li><a href="<%= blob_url(repository, ref, path) %>">Blob content</a></li>
|
26
|
-
<li class="active">Blame</li>
|
27
|
-
<li><a href="<%= history_url(repository, ref, path) %>">History</a></li>
|
28
|
-
<li><a href="<%= raw_url(repository, ref, path) %>">Raw blob</a></li>
|
29
|
-
</ul>
|
30
|
-
<%= breadcrumb(repository, ref, path) %>
|
31
|
-
<table class="gts-code-listing">
|
32
|
-
<% annotations = blame_annotations(blame) %>
|
33
|
-
<% lines = blame_lines(path, blame) %>
|
34
|
-
<% annotations.length.times do |i| %>
|
35
|
-
<tr>
|
36
|
-
<%= blame_annotation_cell(annotations[i]) %>
|
37
|
-
<td class="linenum L<%= i + 1 %>"><%= i + 1 %></td>
|
38
|
-
<%= blame_code_cell(lines[i]) %>
|
39
|
-
</tr>
|
40
|
-
<% end %>
|
41
|
-
</table>
|
42
|
-
</div>
|