dolt 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +3 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +53 -0
- data/Rakefile +10 -0
- data/Readme.md +25 -0
- data/bin/dolt +46 -0
- data/dolt.gemspec +39 -0
- data/lib/dolt/async/deferrable_child_process.rb +49 -0
- data/lib/dolt/async/when.rb +87 -0
- data/lib/dolt/disk_repo_resolver.rb +41 -0
- data/lib/dolt/git/blob.rb +31 -0
- data/lib/dolt/git/repository.rb +47 -0
- data/lib/dolt/git/shell.rb +39 -0
- data/lib/dolt/repo_actions.rb +41 -0
- data/lib/dolt/sinatra/actions.rb +38 -0
- data/lib/dolt/sinatra/base.rb +36 -0
- data/lib/dolt/sinatra/multi_repo_browser.rb +37 -0
- data/lib/dolt/sinatra/single_repo_browser.rb +44 -0
- data/lib/dolt/template_renderer.rb +60 -0
- data/lib/dolt/version.rb +21 -0
- data/lib/dolt/view.rb +58 -0
- data/lib/dolt/view/breadcrumb.rb +45 -0
- data/lib/dolt/view/highlighter.rb +49 -0
- data/test/dolt/git/blob_test.rb +49 -0
- data/test/dolt/git/repository_test.rb +70 -0
- data/test/dolt/git/shell_test.rb +78 -0
- data/test/dolt/repo_actions_test.rb +73 -0
- data/test/dolt/sinatra/actions_test.rb +81 -0
- data/test/dolt/template_renderer_test.rb +80 -0
- data/test/dolt/view_test.rb +88 -0
- data/test/dolt/views/blob_test.rb +96 -0
- data/test/test_helper.rb +43 -0
- data/vendor/ui/bootstrap/css/bootstrap-responsive.min.css +9 -0
- data/vendor/ui/bootstrap/css/bootstrap.min.css +9 -0
- data/vendor/ui/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/vendor/ui/bootstrap/img/glyphicons-halflings.png +0 -0
- data/vendor/ui/bootstrap/js/bootstrap.min.js +6 -0
- data/vendor/ui/css/gitorious.css +535 -0
- data/vendor/ui/css/pygments.css +133 -0
- data/vendor/ui/iconic/lock_stroke.svg +17 -0
- data/vendor/ui/images/f5f5f5-980x1.png +0 -0
- data/vendor/ui/images/gitorious.png +0 -0
- data/vendor/ui/images/powered-by.png +0 -0
- data/vendor/ui/images/white-980x1.png +0 -0
- data/vendor/ui/js/gitorious.js +87 -0
- data/views/blob.erb +43 -0
- data/views/layout.erb +42 -0
- metadata +263 -0
@@ -0,0 +1,133 @@
|
|
1
|
+
.prettyprint {
|
2
|
+
background-color: #f7f7f9;
|
3
|
+
border: 1px solid #e1e1e8;
|
4
|
+
padding: 8px;
|
5
|
+
}
|
6
|
+
|
7
|
+
.gts-file .prettyprint {
|
8
|
+
background: #fefefe;
|
9
|
+
}
|
10
|
+
|
11
|
+
.prettyprint.linenums {
|
12
|
+
box-shadow: 47px 0 0 #fbfbfc inset, 48px 0 0 #ececF0 inset;
|
13
|
+
}
|
14
|
+
|
15
|
+
ol.linenums {
|
16
|
+
margin: 0 0 0 40px;
|
17
|
+
}
|
18
|
+
|
19
|
+
ol.linenums li {
|
20
|
+
color: #bebec5;
|
21
|
+
line-height: 18px;
|
22
|
+
padding-left: 12px;
|
23
|
+
text-shadow: 0 1px 0 #fff;
|
24
|
+
}
|
25
|
+
|
26
|
+
.linenums .line {
|
27
|
+
display: block;
|
28
|
+
min-height: 18px;
|
29
|
+
}
|
30
|
+
|
31
|
+
.c, /* Comment */
|
32
|
+
.cm, /* Comment.Multiline */
|
33
|
+
.c1, /* Comment.Single */
|
34
|
+
.cs /* Comment.Special */
|
35
|
+
{ color: #93A1A1; }
|
36
|
+
|
37
|
+
.k, /* Keyword */
|
38
|
+
.kc, /* Keyword.Constant */
|
39
|
+
.kd, /* Keyword.Declaration */
|
40
|
+
.kn, /* Keyword.Namespace */
|
41
|
+
.kr, /* Keyword.Reserved */
|
42
|
+
.kp, /* Keyword.Pseudo */
|
43
|
+
.nb, /* Name.Builtin */
|
44
|
+
.sx, /* Literal.String.Other */
|
45
|
+
.bp /* Name.Builtin.Pseudo */
|
46
|
+
{ color: #1e347b; }
|
47
|
+
|
48
|
+
.nc, /* Name.Class */
|
49
|
+
.nn, /* Name.Namespace */
|
50
|
+
.nf, /* Name.Function */
|
51
|
+
.no /* Name.Constant */
|
52
|
+
{ color: #dc322f; }
|
53
|
+
|
54
|
+
.s, /* Literal.String */
|
55
|
+
.sb, /* Literal.String.Backtick */
|
56
|
+
.sc, /* Literal.String.Char */
|
57
|
+
.sd, /* Literal.String.Doc */
|
58
|
+
.s2, /* Literal.String.Double */
|
59
|
+
.sh, /* Literal.String.Heredoc */
|
60
|
+
.s1, /* Literal.String.Single */
|
61
|
+
.se, /* Literal.String.Escape */
|
62
|
+
.si /* Literal.String.Interpol */
|
63
|
+
{ color: #dd1144; }
|
64
|
+
|
65
|
+
.nt, /* Name.Tag */
|
66
|
+
.m, /* Literal.Number */
|
67
|
+
.mf, /* Literal.Number.Float */
|
68
|
+
.mh, /* Literal.Number.Hex */
|
69
|
+
.mi, /* Literal.Number.Integer */
|
70
|
+
.mo, /* Literal.Number.Oct */
|
71
|
+
.il, /* Literal.Number.Integer.Long */
|
72
|
+
.vi, /* Name.Variable.Instance */
|
73
|
+
.ow, /* Operator.Word */
|
74
|
+
.na, /* Name.Attribute */
|
75
|
+
.n,
|
76
|
+
.nx,
|
77
|
+
.p,
|
78
|
+
.line
|
79
|
+
{ color: #48484c; }
|
80
|
+
|
81
|
+
.vc, /* Name.Variable.Class */
|
82
|
+
.vg, /* Name.Variable.Global */
|
83
|
+
.nv /* Name.Variable */
|
84
|
+
{ color: #a74e4c; }
|
85
|
+
|
86
|
+
.ss, /* Literal.String.Symbol */
|
87
|
+
.sr, /* Literal.String.Regex */
|
88
|
+
.cp /* Comment.Preproc */
|
89
|
+
{ color: #bc7a00 }
|
90
|
+
|
91
|
+
.sd { font-style: italic; }
|
92
|
+
|
93
|
+
.vi, .k, .kc, .kd, .kn, .kr, .nt, .nc, .nn, .no, .nb, .nf, .ow, .si { font-weight: bold; }
|
94
|
+
|
95
|
+
/* --- */
|
96
|
+
|
97
|
+
.html-erb .cp { color: #48484c; }
|
98
|
+
.common-lisp .nv { color: #48484c; }
|
99
|
+
|
100
|
+
/* --- */
|
101
|
+
|
102
|
+
.hll { background-color: #ffffcc; }
|
103
|
+
.err { border: 1px solid #ff0000; } /* Error */
|
104
|
+
.o { color: #666; } /* Operator */
|
105
|
+
.gd { color: #a00000; } /* Generic.Deleted */
|
106
|
+
.ge { font-style: italic; } /* Generic.Emph */
|
107
|
+
.gr { color: #f00; } /* Generic.Error */
|
108
|
+
.gh { color: #000080; font-weight: bold; } /* Generic.Heading */
|
109
|
+
.gi { color: #00a000; } /* Generic.Inserted */
|
110
|
+
.go { color: #888; } /* Generic.Output */
|
111
|
+
.gp { color: #000080; font-weight: bold; } /* Generic.Prompt */
|
112
|
+
.gs { font-weight: bold; } /* Generic.Strong */
|
113
|
+
.gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
|
114
|
+
.gt { color: #04d; } /* Generic.Traceback */
|
115
|
+
.kt { color: #b00040; } /* Keyword.Type */
|
116
|
+
.nd { color: #a2f; } /* Name.Decorator */
|
117
|
+
.ni { color: #999; font-weight: bold; } /* Name.Entity */
|
118
|
+
.ne { color: #d2413a; font-weight: bold; } /* Name.Exception */
|
119
|
+
.nl { color: #a0a000; } /* Name.Label */
|
120
|
+
.w { color: #bbb; } /* Text.Whitespace */
|
121
|
+
|
122
|
+
/* Mouseover */
|
123
|
+
ol.linenums li.focus {
|
124
|
+
color: #48484e;
|
125
|
+
}
|
126
|
+
|
127
|
+
ol.linenums li.focus .line {
|
128
|
+
background: #ffc;
|
129
|
+
margin-left: -60px;
|
130
|
+
padding-left: 60px;
|
131
|
+
margin-right: -8px;
|
132
|
+
padding-right: 8px;
|
133
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
|
5
|
+
height="32px" viewBox="0 0 24 32" style="enable-background:new 0 0 24 32;" xml:space="preserve">
|
6
|
+
<g id="Layer_1">
|
7
|
+
</g>
|
8
|
+
<g id="lock_x5F_stroke">
|
9
|
+
<g>
|
10
|
+
<path style="fill:#4E4E50;" d="M14.004,0c-5.51,0-9.998,4.484-9.998,10v2H0v14c0,3.305,2.695,6,5.998,6H18c3.312,0,6-2.695,6-6V10
|
11
|
+
C24,4.484,19.516,0,14.004,0z M8.006,10c0-3.312,2.693-6,5.998-6C17.312,4,20,6.688,20,10v2H8.006V10z M18,28H5.998
|
12
|
+
c-1.102,0-2-0.898-2-2V16H20v10C20,27.102,19.109,28,18,28z"/>
|
13
|
+
<path style="fill:#4E4E50;" d="M14.004,22c0,1.102-0.898,2-2,2c-1.109,0-2-0.898-2-2c0-1.109,0.891-2,2-2
|
14
|
+
C13.105,20,14.004,20.891,14.004,22z"/>
|
15
|
+
</g>
|
16
|
+
</g>
|
17
|
+
</svg>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,87 @@
|
|
1
|
+
$(".gts-select-onfocus").focus(function () {
|
2
|
+
this.select();
|
3
|
+
});
|
4
|
+
|
5
|
+
$(".gts-repo-url").click(function (e) {
|
6
|
+
e.preventDefault();
|
7
|
+
var btn = $(this);
|
8
|
+
var parent = btn.parent();
|
9
|
+
parent.find(".gts-repo-url").removeClass("active");
|
10
|
+
btn.addClass("active");
|
11
|
+
parent.find(".gts-current-repo-url").val(btn.attr("href")).focus();
|
12
|
+
});
|
13
|
+
|
14
|
+
$(".linenums li").mouseenter(function () {
|
15
|
+
$(this).addClass("focus");
|
16
|
+
});
|
17
|
+
|
18
|
+
$(".linenums li").mouseleave(function () {
|
19
|
+
$(this).removeClass("focus");
|
20
|
+
});
|
21
|
+
|
22
|
+
(function () {
|
23
|
+
var fileEl = document.getElementById("file");
|
24
|
+
var matches = window.location.href.match(/\#l(\d+)(?:-(\d+))?/);
|
25
|
+
if (!fileEl || !matches) { return; }
|
26
|
+
var lines = fileEl.getElementsByTagName("li");
|
27
|
+
var end = Math.max(matches[2] || matches[1], matches[1]);
|
28
|
+
|
29
|
+
for (var i = matches[1]; i <= end; ++i) {
|
30
|
+
$(lines[i - 1]).addClass("focus");
|
31
|
+
}
|
32
|
+
}());
|
33
|
+
|
34
|
+
jQuery("[rel=tooltip]").tooltip();
|
35
|
+
|
36
|
+
jQuery("[data-preview-target]").each(function () {
|
37
|
+
var textarea = this;
|
38
|
+
var target = document.getElementById(this.getAttribute("data-preview-target"));
|
39
|
+
if (!target || !Showdown) { return; }
|
40
|
+
var converter = new Showdown.converter();
|
41
|
+
var previous, content;
|
42
|
+
|
43
|
+
var cageSeed = new Date().getTime();
|
44
|
+
|
45
|
+
function zeroPad(num) {
|
46
|
+
return num < 10 ? "0" + num : num;
|
47
|
+
}
|
48
|
+
|
49
|
+
function signature() {
|
50
|
+
var now = new Date();
|
51
|
+
return "<p>" +
|
52
|
+
"<img width=\"24\" height=\"24\" class=\"gts-avatar\" alt=\"avatar\" src=\"http://cageme.herokuapp.com/24/24?" +
|
53
|
+
cageSeed + "\">" +
|
54
|
+
"<a href=\"/~zmalltalker\">Marius Mathiesen</a>" +
|
55
|
+
zeroPad(now.getHours()) + ":" + zeroPad(now.getMinutes()) +
|
56
|
+
". <a href=\"#\">Edit comment</a></p>";
|
57
|
+
}
|
58
|
+
|
59
|
+
function setPreview(preview) {
|
60
|
+
target.style.display = preview ? "block" : "none";
|
61
|
+
target.getElementsByTagName("div")[0].innerHTML = preview;
|
62
|
+
}
|
63
|
+
|
64
|
+
function updatePreview() {
|
65
|
+
content = textarea.value;
|
66
|
+
if (content !== previous) {
|
67
|
+
previous = content;
|
68
|
+
setPreview(converter.makeHtml(content));
|
69
|
+
}
|
70
|
+
setTimeout(updatePreview, 20);
|
71
|
+
}
|
72
|
+
|
73
|
+
updatePreview();
|
74
|
+
});
|
75
|
+
|
76
|
+
// Lest ye forget
|
77
|
+
/*
|
78
|
+
var _gaq = _gaq || [];
|
79
|
+
_gaq.push(['_setAccount', 'UA-52238-3']);
|
80
|
+
_gaq.push(['_setDomainName', '.gitorious.org']);
|
81
|
+
_gaq.push(['_trackPageview']);
|
82
|
+
(function() {
|
83
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
84
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
85
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
|
86
|
+
})();
|
87
|
+
*/
|
data/views/blob.erb
ADDED
@@ -0,0 +1,43 @@
|
|
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
|
+
<%
|
21
|
+
@title = "#{blob.path} in #{repository.name}:master"
|
22
|
+
%>
|
23
|
+
<div class="gts-file">
|
24
|
+
<%#
|
25
|
+
<div class="dropdown gts-branch-selector pull-right">
|
26
|
+
<a href="#" data-toggle="dropdown" class="dropdown-toggle"><span class="caret"></span> <em>branch:</em> master</a>
|
27
|
+
<ul class="dropdown-menu">
|
28
|
+
<li class="dropdown-label"><strong>Branches</strong></li>
|
29
|
+
<li><a href="#">master</a></li>
|
30
|
+
<li class="dropdown-label"><strong>Tags</strong></li>
|
31
|
+
<li><a href="#">v2.0.0</a></li>
|
32
|
+
</ul>
|
33
|
+
</div>
|
34
|
+
%>
|
35
|
+
<ul class="pull-right gts-blob-view">
|
36
|
+
<li class="active">Blob content</li>
|
37
|
+
<li><a href="/<%= repository.name %>/blame/<%= ref %>:<%= blob.path %>">Blame</a></li>
|
38
|
+
<li><a href="/<%= repository.name %>/history/<%= ref %>:<%= blob.path %>">History</a></li>
|
39
|
+
<li><a href="/<%= repository.name %>/raw/<%= ref %>:<%= blob.path %>">Raw blob</a></li>
|
40
|
+
</ul>
|
41
|
+
<%= breadcrumb(repository, ref, blob.path) %>
|
42
|
+
<%= highlight_lines(blob.path, blob.raw) %>
|
43
|
+
</div>
|
data/views/layout.erb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title><%= @title %></title>
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
+
<link href="/css/gitorious.css" rel="stylesheet">
|
8
|
+
<link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
9
|
+
<link href="/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<div class="gts-masthead navbar">
|
13
|
+
<div class="navbar-inner">
|
14
|
+
<div class="container">
|
15
|
+
<a class="gts-logo" href="/"><img src="/images/gitorious.png" alt="Gitorious" title="Gitorious"></a>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
<br><br>
|
20
|
+
<div class="container">
|
21
|
+
<%= yield %>
|
22
|
+
</div>
|
23
|
+
<div class="footer">
|
24
|
+
<div class="container">
|
25
|
+
<p class="pull-right gts-powered-by">
|
26
|
+
<a href="http://gitorious.org">
|
27
|
+
<img alt="Powered by Gitorious" src="/images/powered-by.png" title="Powered by Gitorious">
|
28
|
+
</a>
|
29
|
+
</p>
|
30
|
+
<p>
|
31
|
+
Dolt is part of <a href="http://gitorious.org">Gitorious</a>. Dolt
|
32
|
+
(like Gitorious) is free software licensed under
|
33
|
+
the <a href="http://www.gnu.org/licenses/agpl-3.0.html">GNU Affero
|
34
|
+
General Public License (AGPL)</a> unless noted otherwise.
|
35
|
+
</p>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
<script src="/js/jquery.js"></script>
|
39
|
+
<script src="/bootstrap/js/bootstrap.min.js"></script>
|
40
|
+
<script src="/js/gitorious.js"></script>
|
41
|
+
</body>
|
42
|
+
</html>
|
metadata
ADDED
@@ -0,0 +1,263 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dolt
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Christian Johansen
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-09-11 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: eventmachine
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 19
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 12
|
33
|
+
version: "0.12"
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: thin
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 7
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 4
|
48
|
+
version: "1.4"
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: sinatra
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 9
|
60
|
+
segments:
|
61
|
+
- 1
|
62
|
+
- 3
|
63
|
+
version: "1.3"
|
64
|
+
type: :runtime
|
65
|
+
version_requirements: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
name: async_sinatra
|
68
|
+
prerelease: false
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ~>
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 15
|
75
|
+
segments:
|
76
|
+
- 1
|
77
|
+
- 0
|
78
|
+
version: "1.0"
|
79
|
+
type: :runtime
|
80
|
+
version_requirements: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: tilt
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 9
|
90
|
+
segments:
|
91
|
+
- 1
|
92
|
+
- 3
|
93
|
+
version: "1.3"
|
94
|
+
type: :runtime
|
95
|
+
version_requirements: *id005
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: pygments.rb
|
98
|
+
prerelease: false
|
99
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ~>
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 15
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
- 2
|
108
|
+
version: "0.2"
|
109
|
+
type: :runtime
|
110
|
+
version_requirements: *id006
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: minitest
|
113
|
+
prerelease: false
|
114
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
116
|
+
requirements:
|
117
|
+
- - ~>
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
hash: 3
|
120
|
+
segments:
|
121
|
+
- 2
|
122
|
+
- 0
|
123
|
+
version: "2.0"
|
124
|
+
type: :development
|
125
|
+
version_requirements: *id007
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: em-minitest-spec
|
128
|
+
prerelease: false
|
129
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ~>
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 13
|
135
|
+
segments:
|
136
|
+
- 1
|
137
|
+
- 1
|
138
|
+
version: "1.1"
|
139
|
+
type: :development
|
140
|
+
version_requirements: *id008
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: rake
|
143
|
+
prerelease: false
|
144
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
hash: 25
|
150
|
+
segments:
|
151
|
+
- 0
|
152
|
+
- 9
|
153
|
+
version: "0.9"
|
154
|
+
type: :development
|
155
|
+
version_requirements: *id009
|
156
|
+
- !ruby/object:Gem::Dependency
|
157
|
+
name: mocha
|
158
|
+
prerelease: false
|
159
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
160
|
+
none: false
|
161
|
+
requirements:
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
hash: 3
|
165
|
+
segments:
|
166
|
+
- 0
|
167
|
+
version: "0"
|
168
|
+
type: :development
|
169
|
+
version_requirements: *id010
|
170
|
+
description: Dolt serves git trees and syntax highlighted blobs
|
171
|
+
email:
|
172
|
+
- christian@gitorious.org
|
173
|
+
executables:
|
174
|
+
- dolt
|
175
|
+
extensions: []
|
176
|
+
|
177
|
+
extra_rdoc_files: []
|
178
|
+
|
179
|
+
files:
|
180
|
+
- ./.gitmodules
|
181
|
+
- ./Gemfile
|
182
|
+
- ./Gemfile.lock
|
183
|
+
- ./Rakefile
|
184
|
+
- ./Readme.md
|
185
|
+
- ./bin/dolt
|
186
|
+
- ./dolt.gemspec
|
187
|
+
- ./lib/dolt/async/deferrable_child_process.rb
|
188
|
+
- ./lib/dolt/async/when.rb
|
189
|
+
- ./lib/dolt/disk_repo_resolver.rb
|
190
|
+
- ./lib/dolt/git/blob.rb
|
191
|
+
- ./lib/dolt/git/repository.rb
|
192
|
+
- ./lib/dolt/git/shell.rb
|
193
|
+
- ./lib/dolt/repo_actions.rb
|
194
|
+
- ./lib/dolt/sinatra/actions.rb
|
195
|
+
- ./lib/dolt/sinatra/base.rb
|
196
|
+
- ./lib/dolt/sinatra/multi_repo_browser.rb
|
197
|
+
- ./lib/dolt/sinatra/single_repo_browser.rb
|
198
|
+
- ./lib/dolt/template_renderer.rb
|
199
|
+
- ./lib/dolt/version.rb
|
200
|
+
- ./lib/dolt/view.rb
|
201
|
+
- ./lib/dolt/view/breadcrumb.rb
|
202
|
+
- ./lib/dolt/view/highlighter.rb
|
203
|
+
- ./test/dolt/git/blob_test.rb
|
204
|
+
- ./test/dolt/git/repository_test.rb
|
205
|
+
- ./test/dolt/git/shell_test.rb
|
206
|
+
- ./test/dolt/repo_actions_test.rb
|
207
|
+
- ./test/dolt/sinatra/actions_test.rb
|
208
|
+
- ./test/dolt/template_renderer_test.rb
|
209
|
+
- ./test/dolt/view_test.rb
|
210
|
+
- ./test/dolt/views/blob_test.rb
|
211
|
+
- ./test/test_helper.rb
|
212
|
+
- ./views/blob.erb
|
213
|
+
- ./views/layout.erb
|
214
|
+
- vendor/ui/bootstrap/css/bootstrap-responsive.min.css
|
215
|
+
- vendor/ui/bootstrap/css/bootstrap.min.css
|
216
|
+
- vendor/ui/bootstrap/img/glyphicons-halflings-white.png
|
217
|
+
- vendor/ui/bootstrap/img/glyphicons-halflings.png
|
218
|
+
- vendor/ui/bootstrap/js/bootstrap.min.js
|
219
|
+
- vendor/ui/css/gitorious.css
|
220
|
+
- vendor/ui/css/pygments.css
|
221
|
+
- vendor/ui/iconic/lock_stroke.svg
|
222
|
+
- vendor/ui/images/f5f5f5-980x1.png
|
223
|
+
- vendor/ui/images/gitorious.png
|
224
|
+
- vendor/ui/images/powered-by.png
|
225
|
+
- vendor/ui/images/white-980x1.png
|
226
|
+
- vendor/ui/js/gitorious.js
|
227
|
+
- bin/dolt
|
228
|
+
has_rdoc: true
|
229
|
+
homepage: http://gitorious.org/gitorious/dolt
|
230
|
+
licenses: []
|
231
|
+
|
232
|
+
post_install_message:
|
233
|
+
rdoc_options: []
|
234
|
+
|
235
|
+
require_paths:
|
236
|
+
- lib
|
237
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
238
|
+
none: false
|
239
|
+
requirements:
|
240
|
+
- - ">="
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
hash: 3
|
243
|
+
segments:
|
244
|
+
- 0
|
245
|
+
version: "0"
|
246
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
|
+
none: false
|
248
|
+
requirements:
|
249
|
+
- - ">="
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
hash: 3
|
252
|
+
segments:
|
253
|
+
- 0
|
254
|
+
version: "0"
|
255
|
+
requirements: []
|
256
|
+
|
257
|
+
rubyforge_project: dolt
|
258
|
+
rubygems_version: 1.4.2
|
259
|
+
signing_key:
|
260
|
+
specification_version: 3
|
261
|
+
summary: Dolt serves git trees and syntax highlighted blobs
|
262
|
+
test_files: []
|
263
|
+
|