dolt 0.7.0 → 0.7.1
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 +15 -13
- data/dolt.gemspec +1 -1
- data/vendor/ui/.gitmodules +3 -0
- data/vendor/ui/css/gitorious.css +4 -3
- data/vendor/ui/js/components/ref-selector.js +21 -9
- data/vendor/ui/js/components/url.js +1 -1
- data/vendor/ui/js/gitorious.js +43 -43
- data/vendor/ui/test/ref-selector-test.js +57 -16
- metadata +5 -7
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dolt (0.
|
5
|
-
async_sinatra (~> 1)
|
6
|
-
json (~> 1)
|
7
|
-
libdolt (~> 0)
|
8
|
-
sinatra (~> 1)
|
4
|
+
dolt (0.7.1)
|
5
|
+
async_sinatra (~> 1.0)
|
6
|
+
json (~> 1.5)
|
7
|
+
libdolt (~> 0.8)
|
8
|
+
sinatra (~> 1.0)
|
9
9
|
thin (~> 1.4)
|
10
|
-
tiltout (~> 1)
|
10
|
+
tiltout (~> 1.1)
|
11
11
|
|
12
12
|
GEM
|
13
13
|
remote: http://rubygems.org/
|
@@ -20,30 +20,31 @@ GEM
|
|
20
20
|
eventmachine
|
21
21
|
em_pessimistic (0.1.2)
|
22
22
|
eventmachine (~> 1.0)
|
23
|
-
em_rugged (0.
|
23
|
+
em_rugged (0.3.0)
|
24
24
|
eventmachine (~> 1.0)
|
25
25
|
rugged (= 0.17.0.b6)
|
26
26
|
eventmachine (1.0.0)
|
27
27
|
github-markup (0.7.4)
|
28
28
|
htmlentities (4.3.1)
|
29
29
|
json (1.7.5)
|
30
|
-
libdolt (0.
|
30
|
+
libdolt (0.10.0)
|
31
31
|
em_pessimistic (~> 0.1)
|
32
|
-
em_rugged (~> 0.
|
32
|
+
em_rugged (~> 0.3)
|
33
33
|
eventmachine (~> 1.0)
|
34
34
|
htmlentities (~> 4.3)
|
35
35
|
json (~> 1.7)
|
36
|
-
makeup (~> 0)
|
36
|
+
makeup (~> 0.2)
|
37
37
|
mime-types (~> 1.19)
|
38
38
|
tzinfo (~> 0.3)
|
39
|
-
|
39
|
+
when (~> 0)
|
40
|
+
makeup (0.2.0)
|
40
41
|
github-markup (~> 0.7)
|
41
42
|
htmlentities (~> 4.3)
|
42
43
|
pygments.rb (~> 0.2)
|
43
44
|
metaclass (0.0.1)
|
44
45
|
mime-types (1.19)
|
45
46
|
minitest (2.12.1)
|
46
|
-
mocha (0.12.
|
47
|
+
mocha (0.12.7)
|
47
48
|
metaclass (~> 0.0.1)
|
48
49
|
posix-spawn (0.3.6)
|
49
50
|
pygments.rb (0.3.1)
|
@@ -63,9 +64,10 @@ GEM
|
|
63
64
|
eventmachine (>= 0.12.6)
|
64
65
|
rack (>= 1.0.0)
|
65
66
|
tilt (1.3.3)
|
66
|
-
tiltout (1.
|
67
|
+
tiltout (1.2.0)
|
67
68
|
tilt (~> 1.3)
|
68
69
|
tzinfo (0.3.33)
|
70
|
+
when (0.1.0)
|
69
71
|
yajl-ruby (1.1.0)
|
70
72
|
|
71
73
|
PLATFORMS
|
data/dolt.gemspec
CHANGED
data/vendor/ui/.gitmodules
CHANGED
data/vendor/ui/css/gitorious.css
CHANGED
@@ -332,7 +332,7 @@ input[type=url].gts-current-repo-url {
|
|
332
332
|
border-color: #222;
|
333
333
|
}
|
334
334
|
|
335
|
-
.gts-
|
335
|
+
.gts-footer-blurb {
|
336
336
|
border-top: 1px solid #f5f5f5;
|
337
337
|
margin-top: 12px;
|
338
338
|
padding-top: 12px;
|
@@ -533,8 +533,9 @@ input[type=url].gts-current-repo-url {
|
|
533
533
|
width: auto;
|
534
534
|
}
|
535
535
|
|
536
|
-
.gts-
|
537
|
-
.gts-
|
536
|
+
.gts-item-author,
|
537
|
+
.gts-item-status,
|
538
|
+
.gts-item-age {
|
538
539
|
white-space: nowrap;
|
539
540
|
}
|
540
541
|
|
@@ -8,26 +8,37 @@ this.gts.refSelector = (function () {
|
|
8
8
|
return (template || "#{ref}").replace(/#\{ref\}/g, ref);
|
9
9
|
}
|
10
10
|
|
11
|
-
function
|
12
|
-
return cull.
|
13
|
-
return ref === refName;
|
14
|
-
}, refs[type] || []);
|
11
|
+
function getCurrent(type, refName, refs) {
|
12
|
+
return cull.select(function (ref) {
|
13
|
+
return ref[0] === refName || ref[1] === refName;
|
14
|
+
}, refs[type] || [])[0];
|
15
15
|
}
|
16
16
|
|
17
17
|
function currentRefLink(refs, current) {
|
18
|
-
var
|
19
|
-
|
18
|
+
var currentRef = getCurrent("heads", current, refs);
|
19
|
+
var type = "branch";
|
20
|
+
|
21
|
+
if (!currentRef) {
|
22
|
+
currentRef = getCurrent("tags", current, refs);
|
23
|
+
type = "tag";
|
24
|
+
}
|
25
|
+
|
26
|
+
if (!currentRef) {
|
27
|
+
type = "ref";
|
28
|
+
}
|
29
|
+
|
20
30
|
return e.a({
|
21
31
|
href: "#",
|
22
32
|
className: "dropdown-toggle",
|
23
33
|
innerHTML: "<span class=\"caret\"></span> <em>" +
|
24
|
-
type + ":</em> " + current
|
34
|
+
type + ":</em> " + (currentRef && currentRef[0] || current)
|
25
35
|
});
|
26
36
|
}
|
27
37
|
|
28
38
|
function refInput(url) {
|
29
39
|
var input = e.input({ type: "text", className: "gts-ref-input" });
|
30
40
|
var form = e.form({
|
41
|
+
className: "gts-ref-input",
|
31
42
|
events: {
|
32
43
|
submit: function (e) {
|
33
44
|
e.preventDefault();
|
@@ -43,10 +54,11 @@ this.gts.refSelector = (function () {
|
|
43
54
|
}
|
44
55
|
|
45
56
|
function refItems(label, refs, urlTemplate) {
|
57
|
+
var initial = [e.li({ className: "dropdown-label" }, [e.strong(label)])];
|
46
58
|
return cull.reduce(function (elements, ref) {
|
47
|
-
elements.push(e.li(e.a({ href: tpl(urlTemplate, ref) }, ref)));
|
59
|
+
elements.push(e.li(e.a({ href: tpl(urlTemplate, ref[1]) }, ref[0])));
|
48
60
|
return elements;
|
49
|
-
},
|
61
|
+
}, initial, refs.sort());
|
50
62
|
}
|
51
63
|
|
52
64
|
function refsList(refs, urlTemplate) {
|
@@ -20,7 +20,7 @@ this.gts.url = (function () {
|
|
20
20
|
}
|
21
21
|
|
22
22
|
function currentRef(url) {
|
23
|
-
var refPath = url.split(/(blame|blob|tree|history|raw)\//)[2];
|
23
|
+
var refPath = url.split(/(blame|blob|tree|history|raw|source|readme)\//)[2];
|
24
24
|
return refPath && refPath.split(":")[0] || null;
|
25
25
|
}
|
26
26
|
|
data/vendor/ui/js/gitorious.js
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
// this.select();
|
3
3
|
// });
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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
13
|
|
14
14
|
// $(".linenums li").mouseenter(function () {
|
15
15
|
// $(this).addClass("focus");
|
@@ -31,47 +31,47 @@
|
|
31
31
|
// }
|
32
32
|
// }());
|
33
33
|
|
34
|
-
|
34
|
+
jQuery("[rel=tooltip]").tooltip();
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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
42
|
|
43
|
-
|
43
|
+
var cageSeed = new Date().getTime();
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
function zeroPad(num) {
|
46
|
+
return num < 10 ? "0" + num : num;
|
47
|
+
}
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
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
58
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
59
|
+
function setPreview(preview) {
|
60
|
+
target.style.display = preview ? "block" : "none";
|
61
|
+
target.getElementsByTagName("div")[0].innerHTML = preview;
|
62
|
+
}
|
63
63
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
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
72
|
|
73
|
-
|
74
|
-
|
73
|
+
updatePreview();
|
74
|
+
});
|
75
75
|
|
76
76
|
// Lest ye forget
|
77
77
|
/*
|
@@ -123,7 +123,7 @@ gts.run = function (env) {
|
|
123
123
|
var ref = gts.url.currentRef(window.location.href);
|
124
124
|
|
125
125
|
gts.run({
|
126
|
-
repository: "",
|
126
|
+
repository: gts.repository || "",
|
127
127
|
ref: ref,
|
128
128
|
refUrlTemplate: gts.url.templatize(window.location.href, { ref: ref })
|
129
129
|
});
|
@@ -7,8 +7,23 @@ buster.testCase("Ref selector", {
|
|
7
7
|
assert.className(element, "gts-branch-selector");
|
8
8
|
},
|
9
9
|
|
10
|
-
"includes link to current branch": function () {
|
11
|
-
var element = gts.refSelector({
|
10
|
+
"includes link to current branch by ref": function () {
|
11
|
+
var element = gts.refSelector({
|
12
|
+
heads: [["master", "0123456"]]
|
13
|
+
}, "0123456");
|
14
|
+
var a = element.firstChild;
|
15
|
+
|
16
|
+
assert.tagName(a, "a");
|
17
|
+
assert.className(a, "dropdown-toggle");
|
18
|
+
assert.match(a.innerHTML, "caret");
|
19
|
+
assert.match(a.innerHTML, "branch:");
|
20
|
+
assert.match(a.innerHTML, "master");
|
21
|
+
},
|
22
|
+
|
23
|
+
"includes link to current branch by name": function () {
|
24
|
+
var element = gts.refSelector({
|
25
|
+
heads: [["master", "0123456"]]
|
26
|
+
}, "master");
|
12
27
|
var a = element.firstChild;
|
13
28
|
|
14
29
|
assert.tagName(a, "a");
|
@@ -19,13 +34,17 @@ buster.testCase("Ref selector", {
|
|
19
34
|
},
|
20
35
|
|
21
36
|
"includes link to current tag": function () {
|
22
|
-
var element = gts.refSelector({
|
37
|
+
var element = gts.refSelector({
|
38
|
+
tags: [["v2.1.0", "1234567"]]
|
39
|
+
}, "1234567");
|
23
40
|
|
24
41
|
assert.match(element.firstChild.innerHTML, "tag:");
|
25
42
|
},
|
26
43
|
|
27
44
|
"includes link to current ref": function () {
|
28
|
-
var element = gts.refSelector({
|
45
|
+
var element = gts.refSelector({
|
46
|
+
tags: [["v2.1.0", "1234567"]]
|
47
|
+
}, "aabbcc4");
|
29
48
|
|
30
49
|
assert.match(element.firstChild.innerHTML, "ref:");
|
31
50
|
},
|
@@ -46,9 +65,9 @@ buster.testCase("Ref selector", {
|
|
46
65
|
|
47
66
|
"links all heads": function () {
|
48
67
|
var element = gts.refSelector({
|
49
|
-
heads: ["libgit2", "master"],
|
50
|
-
tags: ["v2.1.0", "v2.1.1"]
|
51
|
-
}, "
|
68
|
+
heads: [["libgit2", "1234567"], ["master", "2345678"]],
|
69
|
+
tags: [["v2.1.0", "34565789"], ["v2.1.1", "45657890"]]
|
70
|
+
}, "2345678");
|
52
71
|
|
53
72
|
var list = element.childNodes[1];
|
54
73
|
assert.className(list.childNodes[1], "dropdown-label");
|
@@ -60,8 +79,8 @@ buster.testCase("Ref selector", {
|
|
60
79
|
"links all tags": function () {
|
61
80
|
var element = gts.refSelector({
|
62
81
|
heads: ["libgit2", "master"],
|
63
|
-
tags: ["v2.1.0", "v2.1.1"]
|
64
|
-
}, "
|
82
|
+
tags: [["v2.1.0", "1234567"], ["v2.1.1", "2345678"]]
|
83
|
+
}, "2345678");
|
65
84
|
|
66
85
|
var list = element.childNodes[1];
|
67
86
|
assert.className(list.childNodes[4], "dropdown-label");
|
@@ -70,11 +89,32 @@ buster.testCase("Ref selector", {
|
|
70
89
|
assert.match(list.childNodes[6].innerHTML, "v2.1.1");
|
71
90
|
},
|
72
91
|
|
92
|
+
"sorts refs alpha-numerically": function () {
|
93
|
+
var element = gts.refSelector({
|
94
|
+
"heads": [["feature-B", "1234567"],
|
95
|
+
["master", "2345678"],
|
96
|
+
["feature-A", "3456789"]],
|
97
|
+
"tags": [["0.7.0", "4567890"],
|
98
|
+
["0.7.1", "5678901"],
|
99
|
+
["1.3.1", "6789012"],
|
100
|
+
["1.0.0", "7890123"]]
|
101
|
+
});
|
102
|
+
|
103
|
+
var list = element.childNodes[1];
|
104
|
+
assert.match(list.childNodes[2].innerHTML, "feature-A");
|
105
|
+
assert.match(list.childNodes[3].innerHTML, "feature-B");
|
106
|
+
assert.match(list.childNodes[4].innerHTML, "master");
|
107
|
+
assert.match(list.childNodes[6].innerHTML, "0.7.0");
|
108
|
+
assert.match(list.childNodes[7].innerHTML, "0.7.1");
|
109
|
+
assert.match(list.childNodes[8].innerHTML, "1.0.0");
|
110
|
+
assert.match(list.childNodes[9].innerHTML, "1.3.1");
|
111
|
+
},
|
112
|
+
|
73
113
|
"does not propagate clicks on input": function () {
|
74
114
|
var element = gts.refSelector({
|
75
|
-
heads: ["libgit2", "master"],
|
76
|
-
tags: ["v2.1.0", "v2.1.1"]
|
77
|
-
}, "
|
115
|
+
heads: [["libgit2", "1234567"], ["master", "2345678"]],
|
116
|
+
tags: [["v2.1.0", "34565789"], ["v2.1.1", "45657890"]]
|
117
|
+
}, "2345678");
|
78
118
|
|
79
119
|
var event = jQuery.Event("click");
|
80
120
|
event.stopPropagation = this.spy();
|
@@ -85,11 +125,12 @@ buster.testCase("Ref selector", {
|
|
85
125
|
|
86
126
|
"uses URL template to generate links": function () {
|
87
127
|
var element = gts.refSelector({
|
88
|
-
heads: ["libgit2", "master"],
|
89
|
-
tags: ["v2.1.0", "v2.1.1"]
|
90
|
-
}, "
|
128
|
+
heads: [["libgit2", "1234567"], ["master", "2345678"]],
|
129
|
+
tags: [["v2.1.0", "34565789"], ["v2.1.1", "45657890"]]
|
130
|
+
}, "2345678", "/dolt/#{ref}:");
|
91
131
|
|
92
132
|
var list = element.childNodes[1];
|
93
|
-
assert.match(list.childNodes[2].firstChild.href, "/dolt/
|
133
|
+
assert.match(list.childNodes[2].firstChild.href, "/dolt/1234567:");
|
134
|
+
assert.equals(list.childNodes[2].firstChild.innerHTML, "libgit2");
|
94
135
|
}
|
95
136
|
});
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dolt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 0.7.
|
9
|
+
- 1
|
10
|
+
version: 0.7.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Christian Johansen
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-10-
|
19
|
-
default_executable:
|
18
|
+
date: 2012-10-19 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: libdolt
|
@@ -218,7 +217,6 @@ files:
|
|
218
217
|
- vendor/ui/test/tree-history-test.js
|
219
218
|
- vendor/ui/test/url-template-test.js
|
220
219
|
- bin/dolt
|
221
|
-
has_rdoc: true
|
222
220
|
homepage: http://gitorious.org/gitorious/dolt
|
223
221
|
licenses: []
|
224
222
|
|
@@ -248,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
248
246
|
requirements: []
|
249
247
|
|
250
248
|
rubyforge_project: dolt
|
251
|
-
rubygems_version: 1.
|
249
|
+
rubygems_version: 1.8.24
|
252
250
|
signing_key:
|
253
251
|
specification_version: 3
|
254
252
|
summary: Dolt serves git trees and syntax highlighted blobs
|