dolt 0.4.1 → 0.4.2

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.
@@ -54,7 +54,7 @@ module Dolt
54
54
 
55
55
  private
56
56
  def entry_history(ref, entry, limit)
57
- deferred_method("log -n #{limit} #{ref} #{entry}") do |out, s|
57
+ deferred_method("log -n #{limit} #{ref} -- #{entry}") do |out, s|
58
58
  Dolt::Git::Commit.parse_log(out)
59
59
  end
60
60
  end
@@ -18,6 +18,10 @@
18
18
  require "tilt"
19
19
  require "json"
20
20
 
21
+ # Need consistent Time formatting in JSON
22
+ require "time"
23
+ class Time; def to_json(*args); "\"#{iso8601}\""; end; end
24
+
21
25
  module Dolt
22
26
  class TemplateRenderer
23
27
  def initialize(template_root, opt = {})
@@ -17,5 +17,5 @@
17
17
  #++
18
18
 
19
19
  module Dolt
20
- VERSION = "0.4.1"
20
+ VERSION = "0.4.2"
21
21
  end
@@ -28,38 +28,69 @@ module Dolt
28
28
  sort(tree.entries.select { |e| e[:type] == :blob })
29
29
  end
30
30
 
31
- def tree_context(repo, ref, path)
32
- acc = ""
33
- pieces = path.sub(/^\.?\//, "").split("/")
34
- total = 5 + pieces.length
31
+ def tree_context(repo, ref, path, maxdepth = nil)
32
+ levels = accumulate_path(partition_path(path, maxdepth))
33
+ return "" if levels.length == 1 && levels[0].length == 1
34
+ total = 4 + levels.length
35
35
  colspan = total
36
- pieces.inject("") do |html, dir|
37
- padding_td = tree_table_padding_td(acc.sub(/^\.?\//, ""))
38
- url = object_url(repo, ref, acc, { :type => :tree, :name => dir })
39
- acc << "/#{dir}"
40
- colspan -= 1
41
- <<-HTML
42
- #{html}
36
+ (levels.map do |level|
37
+ html = <<-HTML
43
38
  <tr>
44
- #{padding_td}
39
+ #{'<td></td>' * (total - colspan)}
45
40
  <td colspan="#{colspan}">
46
- <a href=\"#{url}\">
47
- <i class="icon icon-folder-open"></i> #{dir}
48
- </a>
41
+ #{tree_context_level_links(repo, ref, level)}
49
42
  </td>
50
43
  </tr>
51
44
  HTML
52
- end
45
+ colspan -= 1
46
+ html
47
+ end).join
53
48
  end
54
49
 
55
- def tree_table_padding_td(path)
56
- "<td></td>" * tree_table_padding_width(path)
50
+ def tree_context_level_links(repo, ref, level)
51
+ extra = "<i class=\"icon icon-folder-open\"></i>"
52
+
53
+ (level.map do |path|
54
+ dir = File.dirname(path)
55
+ dir = "" if dir == "."
56
+ file = path == "" ? "/" : File.basename(path)
57
+ url = object_url(repo, ref, dir, { :type => :tree, :name => file })
58
+ html = "<a href=\"#{url}\">#{extra} #{file}</a>"
59
+ extra = ""
60
+ html
61
+ end).join(" ")
62
+ end
63
+
64
+ def partition_path(path, maxdepth = nil)
65
+ path = path.sub(/^\.?\//, "")
66
+ result = [[""]]
67
+ return result if path == ""
68
+ parts = path.split("/")
69
+ maxdepth ||= parts.length
70
+ (parts.length - maxdepth + 1).times { result[0] << parts.shift }
71
+ result << [parts.shift] while parts.length > 0
72
+ result
73
+ end
74
+
75
+ def accumulate_path(pieces)
76
+ acc = []
77
+ pieces.map do |piece|
78
+ piece.map do |p|
79
+ next p if p == ""
80
+ acc << p
81
+ File.join(acc)
82
+ end
83
+ end
57
84
  end
58
85
 
59
86
  def tree_table_padding_width(path)
60
87
  path.split("/").length
61
88
  end
62
89
 
90
+ def tree_table_padding_td(path)
91
+ "<td></td>" * tree_table_padding_width(path)
92
+ end
93
+
63
94
  private
64
95
  def sort(entries)
65
96
  entries.sort_by { |e| e[:name] }
@@ -65,7 +65,7 @@ describe "tree_history template" do
65
65
  "author" => { "name" => "Christian Johansen",
66
66
  "email" => "christian@cjohansen.no" },
67
67
  "summary" => "Working Moron server for viewing blobs",
68
- "date" => "Mon Sep 10 15:07:39 +0200 2012",
68
+ "date" => "2012-09-10T15:07:39+02:00",
69
69
  "message" => ""
70
70
  }]
71
71
  }, {
@@ -78,7 +78,7 @@ describe "tree_history template" do
78
78
  "author" => { "name" => "Christian Johansen",
79
79
  "email" => "christian@cjohansen.no" },
80
80
  "summary" => "Initial commit",
81
- "date" => "Thu Aug 23 11:40:39 +0200 2012",
81
+ "date" => "2012-08-23T11:40:39+02:00",
82
82
  "message" => ""
83
83
  }]
84
84
  }]
@@ -72,6 +72,51 @@ describe Dolt::View::Tree do
72
72
  end
73
73
  end
74
74
 
75
+ describe "#partition_path" do
76
+ it "partitions root into double array" do
77
+ parts = partition_path("")
78
+ assert_equal [[""]], parts
79
+
80
+ parts = partition_path("/")
81
+ assert_equal [[""]], parts
82
+
83
+ parts = partition_path("./")
84
+ assert_equal [[""]], parts
85
+ end
86
+
87
+ it "partitions single directory" do
88
+ parts = partition_path("lib")
89
+ assert_equal [["", "lib"]], parts
90
+ end
91
+
92
+ it "partitions two directories" do
93
+ parts = partition_path("lib/dolt")
94
+ assert_equal [["", "lib"], ["dolt"]], parts
95
+ end
96
+
97
+ it "partitions multiple directories" do
98
+ parts = partition_path("lib/dolt/git/help")
99
+ assert_equal [["", "lib"], ["dolt"], ["git"], ["help"]], parts
100
+ end
101
+
102
+ it "ignore trailing slash" do
103
+ parts = partition_path("lib/dolt/")
104
+ assert_equal [["", "lib"], ["dolt"]], parts
105
+ end
106
+
107
+ it "chunks up leading path" do
108
+ parts = partition_path("lib/dolt/very/deep", 3)
109
+ assert_equal [["", "lib", "dolt"], ["very"], ["deep"]], parts
110
+ end
111
+ end
112
+
113
+ describe "#accumulate_path" do
114
+ it "accumulates partitioned path" do
115
+ parts = accumulate_path(partition_path("lib/dolt/very/deep", 3))
116
+ assert_equal [["", "lib", "lib/dolt"], ["lib/dolt/very"], ["lib/dolt/very/deep"]], parts
117
+ end
118
+ end
119
+
75
120
  describe "#tree_context" do
76
121
  def context(path)
77
122
  tree_context("gitorious", "master", path)
@@ -88,13 +133,18 @@ describe Dolt::View::Tree do
88
133
  assert_equal 1, select(context("./lib"), "tr").length
89
134
  end
90
135
 
136
+ it "includes link to root in single table row" do
137
+ assert_equal 2, select(context("lib"), "a").length
138
+ end
139
+
91
140
  it "renders single path item in cell" do
92
141
  assert_equal 1, select(context("lib"), "td").length
93
142
  end
94
143
 
95
144
  it "renders single path item as link" do
96
- assert_equal 1, select(context("lib"), "a").length
97
- assert_match /lib/, select(context("lib"), "a").first
145
+ # Two, because there's always a link to the root directory
146
+ assert_equal 2, select(context("lib"), "a").length
147
+ assert_match /lib/, select(context("lib"), "a")[1]
98
148
  end
99
149
 
100
150
  it "renders single path item with open folder icon" do
@@ -0,0 +1,17 @@
1
+ var gts = this.gts || {};
2
+
3
+ gts.abbrev = function (sentence, width, padding) {
4
+ if (sentence.length <= width) { return sentence; }
5
+ padding = padding || "";
6
+ var words = sentence.split(" ");
7
+ var result = [];
8
+ var len;
9
+
10
+ for (var i = 0, l = words.length; i < l; ++i) {
11
+ len = result.join(" ").length + words[i].length + padding.length;
12
+ if (len > width) { break; }
13
+ result.push(words[i]);
14
+ }
15
+
16
+ return result.join(" ") + padding;
17
+ };
@@ -48,7 +48,8 @@ this.gts.treeHistory = (function (c, $) {
48
48
  tds[offset + 1].innerHTML = formatDate(commit.date);
49
49
  $(tds[offset + 2]).attr("data-gts-commit-oid", commit.oid);
50
50
  tds[offset + 2].innerHTML = "#" + commit.oid.slice(0, 7);
51
- tds[offset + 3].innerHTML = commit.summary + " (" + commit.author.name + ")";
51
+ tds[offset + 3].innerHTML = gts.abbrev(commit.summary, 50, " [...]") +
52
+ " (" + commit.author.name + ")";
52
53
  };
53
54
 
54
55
  th.annotate = function (table, tree) {
@@ -0,0 +1,21 @@
1
+ buster.testCase("Abbrev", {
2
+ "returns short enough string": function () {
3
+ assert.equals("Some string", gts.abbrev("Some string", 30));
4
+ },
5
+
6
+ "slices off end of too long string": function () {
7
+ assert.equals("Some", gts.abbrev("Some string", 4));
8
+ },
9
+
10
+ "inserts padding in place of cut content": function () {
11
+ assert.equals("Some...", gts.abbrev("Some string", 7, "..."));
12
+ },
13
+
14
+ "does not insert padding if string is short enough": function () {
15
+ assert.equals("Some string", gts.abbrev("Some string", 11, "..."));
16
+ },
17
+
18
+ "does not cut words": function () {
19
+ assert.equals("Some...", gts.abbrev("Some string", 10, "..."));
20
+ }
21
+ });
@@ -256,5 +256,67 @@ buster.testCase("Tree history", {
256
256
  assert.match(cells[4].innerHTML, "Add support for async tree history");
257
257
  assert.match(cells[4].innerHTML, "Christian Johansen");
258
258
  }
259
+ },
260
+
261
+ "adding history with long commit summary": {
262
+ setUp: function () {
263
+ /*:DOC table = <table data-gts-tree-history="/tree_history/master:lib" class="table table-striped gts-tree-explorer">
264
+ <thead>
265
+ <tr>
266
+ <th colspan="2">File</th>
267
+ <th class="gts-col-changed">Changed</th>
268
+ <th colspan="2" class="gts-col-commit">Last commit</th>
269
+ </tr>
270
+ </thead>
271
+ <tbody>
272
+ <tr>
273
+ <td colspan="5">
274
+ <a href="/tree/master:lib">
275
+ <i class="icon icon-folder-open"></i> lib
276
+ </a>
277
+ </td>
278
+ </tr>
279
+ <tr>
280
+ <td></td>
281
+ <td class="gts-name">
282
+ <a href="/tree/master:lib/dolt">
283
+ <i class="icon icon-folder-close"></i>
284
+ dolt
285
+ </a>
286
+ </td>
287
+ <td></td>
288
+ <td class="gts-commit-oid"></td>
289
+ <td></td>
290
+ </tr>
291
+ </tbody>
292
+ </table>*/
293
+
294
+ this.treeData([{
295
+ history: [{
296
+ oid: "2ca8e4e51aeb7d4cff7145c1e4e2ccb9cde19181",
297
+ summary: "Aaaaaaaaa Bbbbbbbbb Ccccccccc Ddddddddd Eeeeeeeee Fffffffff ",
298
+ message: "",
299
+ author: {
300
+ email: "christian@gitorious.com",
301
+ name: "Christian Johansen"
302
+ },
303
+ date: "Tue Oct 02 14:04:22 +0200 2012"
304
+ }],
305
+ oid: "7b83452d4ca77e2e81b5a7de8cfe4c0b0430bec3",
306
+ filemode: 16384,
307
+ type: "tree",
308
+ name: "dolt"
309
+ }]);
310
+ },
311
+
312
+ "annotates correct row": function () {
313
+ gts.treeHistory(this.table, "/tree-data.json");
314
+ this.server.respond();
315
+
316
+ var row = this.table.getElementsByTagName("tr")[2];
317
+ var summary = row.getElementsByTagName("td")[4].innerHTML;
318
+
319
+ assert.match(summary, "Aaaaaaaaa Bbbbbbbbb Ccccccccc Ddddddddd [...]");
320
+ }
259
321
  }
260
322
  });
@@ -36,6 +36,7 @@
36
36
  </div>
37
37
  </div>
38
38
  <script src="/dist/gts-ui-deps.js"></script>
39
+ <script src="/js/components/abbrev.js"></script>
39
40
  <script src="/js/components/url.js"></script>
40
41
  <script src="/js/components/ref-selector.js"></script>
41
42
  <script src="/js/components/tree-history.js"></script>
@@ -17,7 +17,7 @@
17
17
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  #++
19
19
  %>
20
- <% @title = "#{path} in #{ref}" %>
20
+ <% @title = "#{path == '' ? './' : path} in #{ref}" %>
21
21
  <div id="gts-ref-selector-ph"></div>
22
22
  <table class="table table-striped gts-tree-explorer" data-gts-tree-history="<%= tree_history_url(repository, ref, path) %>">
23
23
  <thead>
metadata CHANGED
@@ -1,317 +1,233 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dolt
3
- version: !ruby/object:Gem::Version
4
- hash: 13
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 4
9
- - 1
10
- version: 0.4.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Christian Johansen
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-10-03 00:00:00 +02:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-10-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: eventmachine
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &8310500 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 15
30
- segments:
31
- - 1
32
- - 0
33
- version: "1.0"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.0'
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: thin
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *8310500
25
+ - !ruby/object:Gem::Dependency
26
+ name: thin
27
+ requirement: &8309280 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
29
+ requirements:
42
30
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 7
45
- segments:
46
- - 1
47
- - 4
48
- version: "1.4"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.4'
49
33
  type: :runtime
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: sinatra
53
34
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *8309280
36
+ - !ruby/object:Gem::Dependency
37
+ name: sinatra
38
+ requirement: &8308460 !ruby/object:Gem::Requirement
55
39
  none: false
56
- requirements:
40
+ requirements:
57
41
  - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 9
60
- segments:
61
- - 1
62
- - 3
63
- version: "1.3"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.3'
64
44
  type: :runtime
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: async_sinatra
68
45
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *8308460
47
+ - !ruby/object:Gem::Dependency
48
+ name: async_sinatra
49
+ requirement: &8307760 !ruby/object:Gem::Requirement
70
50
  none: false
71
- requirements:
51
+ requirements:
72
52
  - - ~>
73
- - !ruby/object:Gem::Version
74
- hash: 15
75
- segments:
76
- - 1
77
- - 0
78
- version: "1.0"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
79
55
  type: :runtime
80
- version_requirements: *id004
81
- - !ruby/object:Gem::Dependency
82
- name: tilt
83
56
  prerelease: false
84
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *8307760
58
+ - !ruby/object:Gem::Dependency
59
+ name: tilt
60
+ requirement: &8306920 !ruby/object:Gem::Requirement
85
61
  none: false
86
- requirements:
62
+ requirements:
87
63
  - - ~>
88
- - !ruby/object:Gem::Version
89
- hash: 9
90
- segments:
91
- - 1
92
- - 3
93
- version: "1.3"
64
+ - !ruby/object:Gem::Version
65
+ version: '1.3'
94
66
  type: :runtime
95
- version_requirements: *id005
96
- - !ruby/object:Gem::Dependency
97
- name: pygments.rb
98
67
  prerelease: false
99
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *8306920
69
+ - !ruby/object:Gem::Dependency
70
+ name: pygments.rb
71
+ requirement: &8306100 !ruby/object:Gem::Requirement
100
72
  none: false
101
- requirements:
73
+ requirements:
102
74
  - - ~>
103
- - !ruby/object:Gem::Version
104
- hash: 15
105
- segments:
106
- - 0
107
- - 2
108
- version: "0.2"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.2'
109
77
  type: :runtime
110
- version_requirements: *id006
111
- - !ruby/object:Gem::Dependency
112
- name: em_pessimistic
113
78
  prerelease: false
114
- requirement: &id007 !ruby/object:Gem::Requirement
79
+ version_requirements: *8306100
80
+ - !ruby/object:Gem::Dependency
81
+ name: em_pessimistic
82
+ requirement: &8730940 !ruby/object:Gem::Requirement
115
83
  none: false
116
- requirements:
84
+ requirements:
117
85
  - - ~>
118
- - !ruby/object:Gem::Version
119
- hash: 9
120
- segments:
121
- - 0
122
- - 1
123
- version: "0.1"
86
+ - !ruby/object:Gem::Version
87
+ version: '0.1'
124
88
  type: :runtime
125
- version_requirements: *id007
126
- - !ruby/object:Gem::Dependency
127
- name: builder
128
89
  prerelease: false
129
- requirement: &id008 !ruby/object:Gem::Requirement
90
+ version_requirements: *8730940
91
+ - !ruby/object:Gem::Dependency
92
+ name: builder
93
+ requirement: &8729300 !ruby/object:Gem::Requirement
130
94
  none: false
131
- requirements:
95
+ requirements:
132
96
  - - ~>
133
- - !ruby/object:Gem::Version
134
- hash: 5
135
- segments:
136
- - 3
137
- - 1
138
- version: "3.1"
97
+ - !ruby/object:Gem::Version
98
+ version: '3.1'
139
99
  type: :runtime
140
- version_requirements: *id008
141
- - !ruby/object:Gem::Dependency
142
- name: em_rugged
143
100
  prerelease: false
144
- requirement: &id009 !ruby/object:Gem::Requirement
101
+ version_requirements: *8729300
102
+ - !ruby/object:Gem::Dependency
103
+ name: em_rugged
104
+ requirement: &8728260 !ruby/object:Gem::Requirement
145
105
  none: false
146
- requirements:
106
+ requirements:
147
107
  - - ~>
148
- - !ruby/object:Gem::Version
149
- hash: 31
150
- segments:
151
- - 0
152
- - 1
153
- - 2
108
+ - !ruby/object:Gem::Version
154
109
  version: 0.1.2
155
110
  type: :runtime
156
- version_requirements: *id009
157
- - !ruby/object:Gem::Dependency
158
- name: tzinfo
159
111
  prerelease: false
160
- requirement: &id010 !ruby/object:Gem::Requirement
112
+ version_requirements: *8728260
113
+ - !ruby/object:Gem::Dependency
114
+ name: tzinfo
115
+ requirement: &8727020 !ruby/object:Gem::Requirement
161
116
  none: false
162
- requirements:
117
+ requirements:
163
118
  - - ~>
164
- - !ruby/object:Gem::Version
165
- hash: 13
166
- segments:
167
- - 0
168
- - 3
169
- version: "0.3"
119
+ - !ruby/object:Gem::Version
120
+ version: '0.3'
170
121
  type: :runtime
171
- version_requirements: *id010
172
- - !ruby/object:Gem::Dependency
173
- name: github-markup
174
122
  prerelease: false
175
- requirement: &id011 !ruby/object:Gem::Requirement
123
+ version_requirements: *8727020
124
+ - !ruby/object:Gem::Dependency
125
+ name: github-markup
126
+ requirement: &8725820 !ruby/object:Gem::Requirement
176
127
  none: false
177
- requirements:
128
+ requirements:
178
129
  - - ~>
179
- - !ruby/object:Gem::Version
180
- hash: 5
181
- segments:
182
- - 0
183
- - 7
184
- version: "0.7"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.7'
185
132
  type: :runtime
186
- version_requirements: *id011
187
- - !ruby/object:Gem::Dependency
188
- name: htmlentities
189
133
  prerelease: false
190
- requirement: &id012 !ruby/object:Gem::Requirement
134
+ version_requirements: *8725820
135
+ - !ruby/object:Gem::Dependency
136
+ name: htmlentities
137
+ requirement: &8724700 !ruby/object:Gem::Requirement
191
138
  none: false
192
- requirements:
139
+ requirements:
193
140
  - - ~>
194
- - !ruby/object:Gem::Version
195
- hash: 29
196
- segments:
197
- - 4
198
- - 3
199
- version: "4.3"
141
+ - !ruby/object:Gem::Version
142
+ version: '4.3'
200
143
  type: :runtime
201
- version_requirements: *id012
202
- - !ruby/object:Gem::Dependency
203
- name: json
204
144
  prerelease: false
205
- requirement: &id013 !ruby/object:Gem::Requirement
145
+ version_requirements: *8724700
146
+ - !ruby/object:Gem::Dependency
147
+ name: json
148
+ requirement: &8723460 !ruby/object:Gem::Requirement
206
149
  none: false
207
- requirements:
150
+ requirements:
208
151
  - - ~>
209
- - !ruby/object:Gem::Version
210
- hash: 1
211
- segments:
212
- - 1
213
- - 7
214
- version: "1.7"
152
+ - !ruby/object:Gem::Version
153
+ version: '1.7'
215
154
  type: :runtime
216
- version_requirements: *id013
217
- - !ruby/object:Gem::Dependency
218
- name: mime-types
219
155
  prerelease: false
220
- requirement: &id014 !ruby/object:Gem::Requirement
156
+ version_requirements: *8723460
157
+ - !ruby/object:Gem::Dependency
158
+ name: mime-types
159
+ requirement: &8718680 !ruby/object:Gem::Requirement
221
160
  none: false
222
- requirements:
161
+ requirements:
223
162
  - - ~>
224
- - !ruby/object:Gem::Version
225
- hash: 41
226
- segments:
227
- - 1
228
- - 19
229
- version: "1.19"
163
+ - !ruby/object:Gem::Version
164
+ version: '1.19'
230
165
  type: :runtime
231
- version_requirements: *id014
232
- - !ruby/object:Gem::Dependency
233
- name: minitest
234
166
  prerelease: false
235
- requirement: &id015 !ruby/object:Gem::Requirement
167
+ version_requirements: *8718680
168
+ - !ruby/object:Gem::Dependency
169
+ name: minitest
170
+ requirement: &8717000 !ruby/object:Gem::Requirement
236
171
  none: false
237
- requirements:
172
+ requirements:
238
173
  - - ~>
239
- - !ruby/object:Gem::Version
240
- hash: 3
241
- segments:
242
- - 2
243
- - 0
244
- version: "2.0"
174
+ - !ruby/object:Gem::Version
175
+ version: '2.0'
245
176
  type: :development
246
- version_requirements: *id015
247
- - !ruby/object:Gem::Dependency
248
- name: em-minitest-spec
249
177
  prerelease: false
250
- requirement: &id016 !ruby/object:Gem::Requirement
178
+ version_requirements: *8717000
179
+ - !ruby/object:Gem::Dependency
180
+ name: em-minitest-spec
181
+ requirement: &8715020 !ruby/object:Gem::Requirement
251
182
  none: false
252
- requirements:
183
+ requirements:
253
184
  - - ~>
254
- - !ruby/object:Gem::Version
255
- hash: 13
256
- segments:
257
- - 1
258
- - 1
259
- version: "1.1"
185
+ - !ruby/object:Gem::Version
186
+ version: '1.1'
260
187
  type: :development
261
- version_requirements: *id016
262
- - !ruby/object:Gem::Dependency
263
- name: rake
264
188
  prerelease: false
265
- requirement: &id017 !ruby/object:Gem::Requirement
189
+ version_requirements: *8715020
190
+ - !ruby/object:Gem::Dependency
191
+ name: rake
192
+ requirement: &8713460 !ruby/object:Gem::Requirement
266
193
  none: false
267
- requirements:
194
+ requirements:
268
195
  - - ~>
269
- - !ruby/object:Gem::Version
270
- hash: 25
271
- segments:
272
- - 0
273
- - 9
274
- version: "0.9"
196
+ - !ruby/object:Gem::Version
197
+ version: '0.9'
275
198
  type: :development
276
- version_requirements: *id017
277
- - !ruby/object:Gem::Dependency
278
- name: mocha
279
199
  prerelease: false
280
- requirement: &id018 !ruby/object:Gem::Requirement
200
+ version_requirements: *8713460
201
+ - !ruby/object:Gem::Dependency
202
+ name: mocha
203
+ requirement: &8711900 !ruby/object:Gem::Requirement
281
204
  none: false
282
- requirements:
283
- - - ">="
284
- - !ruby/object:Gem::Version
285
- hash: 3
286
- segments:
287
- - 0
288
- version: "0"
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
289
209
  type: :development
290
- version_requirements: *id018
291
- - !ruby/object:Gem::Dependency
292
- name: redcarpet
293
210
  prerelease: false
294
- requirement: &id019 !ruby/object:Gem::Requirement
211
+ version_requirements: *8711900
212
+ - !ruby/object:Gem::Dependency
213
+ name: redcarpet
214
+ requirement: &8707280 !ruby/object:Gem::Requirement
295
215
  none: false
296
- requirements:
297
- - - ">="
298
- - !ruby/object:Gem::Version
299
- hash: 3
300
- segments:
301
- - 0
302
- version: "0"
216
+ requirements:
217
+ - - ! '>='
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
303
220
  type: :development
304
- version_requirements: *id019
221
+ prerelease: false
222
+ version_requirements: *8707280
305
223
  description: Dolt serves git trees and syntax highlighted blobs
306
- email:
224
+ email:
307
225
  - christian@gitorious.org
308
- executables:
226
+ executables:
309
227
  - dolt
310
228
  extensions: []
311
-
312
229
  extra_rdoc_files: []
313
-
314
- files:
230
+ files:
315
231
  - ./.gitmodules
316
232
  - ./Gemfile
317
233
  - ./Gemfile.lock
@@ -397,56 +313,44 @@ files:
397
313
  - vendor/ui/images/gitorious.png
398
314
  - vendor/ui/images/powered-by.png
399
315
  - vendor/ui/images/white-980x1.png
316
+ - vendor/ui/js/components/abbrev.js
400
317
  - vendor/ui/js/components/ref-selector.js
401
318
  - vendor/ui/js/components/tree-history.js
402
319
  - vendor/ui/js/components/url.js
403
320
  - vendor/ui/js/gitorious.js
404
- - vendor/ui/js/libs/cullquery.js
405
- - vendor/ui/js/libs/ext-libs.js
406
- - vendor/ui/js/libs/jquery.js
407
321
  - vendor/ui/lib/bootstrap/css/bootstrap-responsive.min.css
408
322
  - vendor/ui/lib/bootstrap/css/bootstrap.min.css
409
323
  - vendor/ui/lib/bootstrap/img/glyphicons-halflings-white.png
410
324
  - vendor/ui/lib/bootstrap/img/glyphicons-halflings.png
411
325
  - vendor/ui/lib/bootstrap/js/bootstrap.min.js
412
326
  - vendor/ui/package.json
327
+ - vendor/ui/test/abbrev-test.js
413
328
  - vendor/ui/test/ref-selector-test.js
414
329
  - vendor/ui/test/tree-history-test.js
415
330
  - vendor/ui/test/url-template-test.js
416
331
  - bin/dolt
417
- has_rdoc: true
418
332
  homepage: http://gitorious.org/gitorious/dolt
419
333
  licenses: []
420
-
421
334
  post_install_message:
422
335
  rdoc_options: []
423
-
424
- require_paths:
336
+ require_paths:
425
337
  - lib
426
- required_ruby_version: !ruby/object:Gem::Requirement
338
+ required_ruby_version: !ruby/object:Gem::Requirement
427
339
  none: false
428
- requirements:
429
- - - ">="
430
- - !ruby/object:Gem::Version
431
- hash: 3
432
- segments:
433
- - 0
434
- version: "0"
435
- required_rubygems_version: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - ! '>='
342
+ - !ruby/object:Gem::Version
343
+ version: '0'
344
+ required_rubygems_version: !ruby/object:Gem::Requirement
436
345
  none: false
437
- requirements:
438
- - - ">="
439
- - !ruby/object:Gem::Version
440
- hash: 3
441
- segments:
442
- - 0
443
- version: "0"
346
+ requirements:
347
+ - - ! '>='
348
+ - !ruby/object:Gem::Version
349
+ version: '0'
444
350
  requirements: []
445
-
446
351
  rubyforge_project: dolt
447
- rubygems_version: 1.4.2
352
+ rubygems_version: 1.8.11
448
353
  signing_key:
449
354
  specification_version: 3
450
355
  summary: Dolt serves git trees and syntax highlighted blobs
451
356
  test_files: []
452
-