dolt 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. data/Gemfile.lock +3 -3
  2. data/Readme.org +161 -0
  3. data/bin/dolt +23 -3
  4. data/dolt.gemspec +1 -1
  5. data/vendor/ui/.gitignore +3 -1
  6. data/vendor/ui/.gitmodules +21 -18
  7. data/vendor/ui/build +18 -19
  8. data/vendor/ui/buster.js +20 -5
  9. data/vendor/ui/css/gitorious.css +19 -3
  10. data/vendor/ui/dist/gts-ui-deps.js +1 -27
  11. data/vendor/ui/images/gitorious.png +0 -0
  12. data/vendor/ui/js/src/app.js +345 -0
  13. data/vendor/ui/js/src/components/abbrev.js +25 -0
  14. data/vendor/ui/js/src/components/commit-linker.js +26 -0
  15. data/vendor/ui/js/src/components/profile-menu.js +34 -0
  16. data/vendor/ui/js/{components → src/components}/ref-selector.js +32 -4
  17. data/vendor/ui/js/src/components/tree-history.js +138 -0
  18. data/vendor/ui/js/src/components/url.js +64 -0
  19. data/vendor/ui/js/{gitorious.js → src/gitorious.js} +19 -0
  20. data/vendor/ui/js/test-libs/jquery-1.9.1.min.js +5 -0
  21. data/vendor/ui/js/test/app-test.js +386 -0
  22. data/vendor/ui/{test → js/test/components}/abbrev-test.js +0 -0
  23. data/vendor/ui/js/test/components/commit-linker-test.js +41 -0
  24. data/vendor/ui/js/test/components/profile-menu-test.js +46 -0
  25. data/vendor/ui/{test → js/test/components}/ref-selector-test.js +4 -1
  26. data/vendor/ui/{test → js/test/components}/tree-history-test.js +0 -0
  27. data/vendor/ui/{test → js/test/components}/url-template-test.js +9 -0
  28. data/vendor/ui/todo.org +4 -0
  29. metadata +38 -30
  30. data/Readme.md +0 -97
  31. data/vendor/ui/js/components/abbrev.js +0 -17
  32. data/vendor/ui/js/components/tree-history.js +0 -79
  33. data/vendor/ui/js/components/url.js +0 -31
@@ -0,0 +1,41 @@
1
+ buster.testCase("Commit linker", {
2
+ "triggers handler for gts-commit-oid link": function () {
3
+ var callback = this.spy();
4
+ var el = document.createElement("div");
5
+ el.innerHTML = "<span class=\"gts-commit-oid\" data-gts-commit-oid=\"master\">master</span>";
6
+
7
+ gts.commitLinker(el, "/gitorious/mainline/commit/#{oid}", callback);
8
+ jQuery(el.firstChild).trigger("click");
9
+
10
+ assert.calledOnceWith(callback, "/gitorious/mainline/commit/master");
11
+ },
12
+
13
+ "does not trigger handler for regular link": function () {
14
+ var callback = this.spy();
15
+ var el = document.createElement("div");
16
+ el.innerHTML = "<span>master</span>";
17
+
18
+ gts.commitLinker(el, "/gitorious/mainline/commit/#{oid}", callback);
19
+ jQuery(el.firstChild).trigger("click");
20
+
21
+ refute.called(callback);
22
+ },
23
+
24
+ "triggers handler for link added later": function () {
25
+ var callback = this.spy();
26
+ var el = document.createElement("div");
27
+
28
+ gts.commitLinker(el, "/gitorious/mainline/commit/#{oid}", callback);
29
+ el.innerHTML = "<span class=\"gts-commit-oid\" data-gts-commit-oid=\"master\">master</span>";
30
+ jQuery(el.firstChild).trigger("click");
31
+
32
+ assert.calledOnce(callback);
33
+ },
34
+
35
+ "adds class name to root element": function () {
36
+ var el = document.createElement("div");
37
+ gts.commitLinker(el, "/gitorious/mainline/commit/#{oid}");
38
+
39
+ assert.className(el, "gts-commit-linker");
40
+ }
41
+ });
@@ -0,0 +1,46 @@
1
+ /*global gts*/
2
+
3
+ buster.testCase("Profile menu", {
4
+ "does nothing when no user": function () {
5
+ var el = document.createElement("div");
6
+ gts.profileMenu(el, null);
7
+
8
+ assert.equals(el.innerHTML, "");
9
+ },
10
+
11
+ "with user": {
12
+ setUp: function () {
13
+ this.el = document.createElement("div");
14
+ var user = {
15
+ dashboardPath: "/dashboard",
16
+ login: "cjohansen",
17
+ editPath: "/user/edit",
18
+ messagesPath: "/messages",
19
+ profilePath: "/~cjohansen",
20
+ logoutPath: "/logout"
21
+ };
22
+
23
+ gts.profileMenu(this.el, user);
24
+ },
25
+
26
+ "adds button linking to dashboard": function () {
27
+ assert.match(this.el.innerHTML, "href=\"/dashboard\">");
28
+ assert.match(this.el.innerHTML, "cjohansen");
29
+ },
30
+
31
+ "adds dropdown button": function () {
32
+ assert.match(this.el.innerHTML, "btn-inverse dropdown-toggle");
33
+ assert.match(this.el.innerHTML, "span class=\"caret\"");
34
+ },
35
+
36
+ "adds dropdown menu": function () {
37
+ var ul = this.el.getElementsByTagName("ul")[0];
38
+ assert.className(ul, "dropdown-menu");
39
+ assert.match(ul.innerHTML, "Edit");
40
+ assert.match(ul.innerHTML, "Messages");
41
+ assert.match(ul.innerHTML, "Dashboard");
42
+ assert.match(ul.innerHTML, "Public profile");
43
+ assert.match(ul.innerHTML, "Log out");
44
+ }
45
+ }
46
+ });
@@ -110,7 +110,10 @@ buster.testCase("Ref selector", {
110
110
  assert.match(list.childNodes[9].innerHTML, "1.3.1");
111
111
  },
112
112
 
113
- "does not propagate clicks on input": function () {
113
+ "// does not propagate clicks on input": function () {
114
+ // Since switching from jQuery to Dome, this test no longer works,
115
+ // as it's not possible(?) to fake the stopPropagation method.
116
+ // Not sure how to solve
114
117
  var element = gts.refSelector({
115
118
  heads: [["libgit2", "1234567"], ["master", "2345678"]],
116
119
  tags: [["v2.1.0", "34565789"], ["v2.1.1", "45657890"]]
@@ -33,6 +33,15 @@ buster.testCase("URL", {
33
33
  }
34
34
  },
35
35
 
36
+ "render": {
37
+ "renders templated URL": function () {
38
+ var template = "/gitorious/mainline/source/#{ref}:#{path}";
39
+ var url = gts.url.render(template, { ref: "master", path: "." });
40
+
41
+ assert.equals("/gitorious/mainline/source/master:.", url);
42
+ }
43
+ },
44
+
36
45
  "currentRef": {
37
46
  "extracts master from tree URL": function () {
38
47
  var ref = gts.url.currentRef("http://localhost/tree/master:lib");
@@ -0,0 +1,4 @@
1
+ * Old file size
2
+ ** 146.2K
3
+ * PostQuery
4
+ ** 13K
metadata CHANGED
@@ -1,25 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dolt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
5
4
  prerelease:
5
+ version: 0.14.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Christian Johansen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-04 00:00:00.000000000 Z
12
+ date: 2013-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: libdolt
15
+ type: :runtime
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0.18'
22
- type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
24
  none: false
@@ -27,15 +26,15 @@ dependencies:
27
26
  - - ~>
28
27
  - !ruby/object:Gem::Version
29
28
  version: '0.18'
29
+ name: libdolt
30
30
  - !ruby/object:Gem::Dependency
31
- name: thin
31
+ type: :runtime
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
37
  version: '1.4'
38
- type: :runtime
39
38
  prerelease: false
40
39
  version_requirements: !ruby/object:Gem::Requirement
41
40
  none: false
@@ -43,15 +42,15 @@ dependencies:
43
42
  - - ~>
44
43
  - !ruby/object:Gem::Version
45
44
  version: '1.4'
45
+ name: thin
46
46
  - !ruby/object:Gem::Dependency
47
- name: sinatra
47
+ type: :runtime
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.0'
54
- type: :runtime
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
57
56
  none: false
@@ -59,15 +58,15 @@ dependencies:
59
58
  - - ~>
60
59
  - !ruby/object:Gem::Version
61
60
  version: '1.0'
61
+ name: sinatra
62
62
  - !ruby/object:Gem::Dependency
63
- name: tiltout
63
+ type: :runtime
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.4'
70
- type: :runtime
71
70
  prerelease: false
72
71
  version_requirements: !ruby/object:Gem::Requirement
73
72
  none: false
@@ -75,15 +74,15 @@ dependencies:
75
74
  - - ~>
76
75
  - !ruby/object:Gem::Version
77
76
  version: '1.4'
77
+ name: tiltout
78
78
  - !ruby/object:Gem::Dependency
79
- name: json
79
+ type: :runtime
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
85
  version: '1.5'
86
- type: :runtime
87
86
  prerelease: false
88
87
  version_requirements: !ruby/object:Gem::Requirement
89
88
  none: false
@@ -91,15 +90,15 @@ dependencies:
91
90
  - - ~>
92
91
  - !ruby/object:Gem::Version
93
92
  version: '1.5'
93
+ name: json
94
94
  - !ruby/object:Gem::Dependency
95
- name: main
95
+ type: :runtime
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
101
  version: '5.2'
102
- type: :runtime
103
102
  prerelease: false
104
103
  version_requirements: !ruby/object:Gem::Requirement
105
104
  none: false
@@ -107,15 +106,15 @@ dependencies:
107
106
  - - ~>
108
107
  - !ruby/object:Gem::Version
109
108
  version: '5.2'
109
+ name: main
110
110
  - !ruby/object:Gem::Dependency
111
- name: minitest
111
+ type: :development
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: '2.0'
118
- type: :development
119
118
  prerelease: false
120
119
  version_requirements: !ruby/object:Gem::Requirement
121
120
  none: false
@@ -123,15 +122,15 @@ dependencies:
123
122
  - - ~>
124
123
  - !ruby/object:Gem::Version
125
124
  version: '2.0'
125
+ name: minitest
126
126
  - !ruby/object:Gem::Dependency
127
- name: rake
127
+ type: :development
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
131
  - - ~>
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0.9'
134
- type: :development
135
134
  prerelease: false
136
135
  version_requirements: !ruby/object:Gem::Requirement
137
136
  none: false
@@ -139,15 +138,15 @@ dependencies:
139
138
  - - ~>
140
139
  - !ruby/object:Gem::Version
141
140
  version: '0.9'
141
+ name: rake
142
142
  - !ruby/object:Gem::Dependency
143
- name: rack-test
143
+ type: :development
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
147
  - - ~>
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0.6'
150
- type: :development
151
150
  prerelease: false
152
151
  version_requirements: !ruby/object:Gem::Requirement
153
152
  none: false
@@ -155,6 +154,7 @@ dependencies:
155
154
  - - ~>
156
155
  - !ruby/object:Gem::Version
157
156
  version: '0.6'
157
+ name: rack-test
158
158
  description: Dolt serves git trees and syntax highlighted blobs
159
159
  email:
160
160
  - christian@gitorious.org
@@ -167,7 +167,7 @@ files:
167
167
  - ./Gemfile
168
168
  - ./Gemfile.lock
169
169
  - ./Rakefile
170
- - ./Readme.md
170
+ - ./Readme.org
171
171
  - ./bin/dolt
172
172
  - ./dolt.gemspec
173
173
  - ./lib/dolt/ruby19.rb
@@ -191,21 +191,29 @@ files:
191
191
  - vendor/ui/images/gitorious.png
192
192
  - vendor/ui/images/powered-by.png
193
193
  - vendor/ui/images/white-980x1.png
194
- - vendor/ui/js/components/abbrev.js
195
- - vendor/ui/js/components/ref-selector.js
196
- - vendor/ui/js/components/tree-history.js
197
- - vendor/ui/js/components/url.js
198
- - vendor/ui/js/gitorious.js
194
+ - vendor/ui/js/src/app.js
195
+ - vendor/ui/js/src/components/abbrev.js
196
+ - vendor/ui/js/src/components/commit-linker.js
197
+ - vendor/ui/js/src/components/profile-menu.js
198
+ - vendor/ui/js/src/components/ref-selector.js
199
+ - vendor/ui/js/src/components/tree-history.js
200
+ - vendor/ui/js/src/components/url.js
201
+ - vendor/ui/js/src/gitorious.js
202
+ - vendor/ui/js/test-libs/jquery-1.9.1.min.js
203
+ - vendor/ui/js/test/app-test.js
204
+ - vendor/ui/js/test/components/abbrev-test.js
205
+ - vendor/ui/js/test/components/commit-linker-test.js
206
+ - vendor/ui/js/test/components/profile-menu-test.js
207
+ - vendor/ui/js/test/components/ref-selector-test.js
208
+ - vendor/ui/js/test/components/tree-history-test.js
209
+ - vendor/ui/js/test/components/url-template-test.js
199
210
  - vendor/ui/lib/bootstrap/css/bootstrap-responsive.min.css
200
211
  - vendor/ui/lib/bootstrap/css/bootstrap.min.css
201
212
  - vendor/ui/lib/bootstrap/img/glyphicons-halflings-white.png
202
213
  - vendor/ui/lib/bootstrap/img/glyphicons-halflings.png
203
214
  - vendor/ui/lib/bootstrap/js/bootstrap.min.js
204
215
  - vendor/ui/package.json
205
- - vendor/ui/test/abbrev-test.js
206
- - vendor/ui/test/ref-selector-test.js
207
- - vendor/ui/test/tree-history-test.js
208
- - vendor/ui/test/url-template-test.js
216
+ - vendor/ui/todo.org
209
217
  - bin/dolt
210
218
  homepage: http://gitorious.org/gitorious/dolt
211
219
  licenses: []
data/Readme.md DELETED
@@ -1,97 +0,0 @@
1
- # Dolt - The Git project browser
2
-
3
- Dolt is a stand-alone Git repository browser. It can be used to explore repos in
4
- your browser of choice and features syntax highlighting with
5
- [Pygments](http://pygments.org/),
6
- [Markdown](http://daringfireball.net/projects/markdown/)/[org-mode](http://orgmode.org/)/[+++](https://github.com/github/markup/)
7
- rendering, commit log and blame.
8
-
9
- The Dolt repository browser is both a stand-alone application and a library.
10
- `Dolt` (this package) is the stand-alone application, while `libdolt` is the
11
- generally reusable library.
12
-
13
- Dolt is the implementation of the next generation repo browser to be used in the
14
- [Gitorious](http://gitorious.org) software.
15
-
16
- ## Installing Dolt
17
-
18
- To install `dolt` you need Ruby, RubyGems and Python development files. The
19
- Python development files are required to support Pygments syntax highlighting.
20
-
21
- Note: Dolt uses [libgit2](http://libgit2.github.com) and its Ruby bindings,
22
- [Rugged](http://github.com/libgit2/rugged) through
23
- [em-rugged](http://gitorious.org/gitorious/em-rugged) for Git access where
24
- feasible. Currently, ``EMRugged`` relies on a version of `Rugged` that is not
25
- yet released, so you have to build it yourself.
26
- [See em-rugged instructions](http://github.com/cjohansen/em-rugged).
27
-
28
- ### Systems using apt (Debian/Ubuntu, others)
29
-
30
- # 1) Install Ruby (skip if you already have Ruby installed)
31
- sudo apt-get install ruby
32
-
33
- # 2) Install Python development files
34
- sudo apt-get install python-dev
35
-
36
- # 3) Install dolt. This may or may not require the use of sudo, depending on
37
- # how you installed Ruby. This step assumes that you already built and
38
- # installed em-rugged as explained above.
39
- sudo gem install dolt
40
-
41
- ### Systems using yum (Fedora/CentOS/RedHat, others)
42
-
43
- # 1) Install Ruby (skip if you already have Ruby installed)
44
- sudo yum install ruby
45
-
46
- # 2) Install Python development files
47
- sudo yum install python-devel
48
-
49
- # 3) Install dolt. This may or may not require the use of sudo, depending on
50
- # how you installed Ruby. This step assumes that you already built and
51
- # installed em-rugged as explained above.
52
- sudo gem install dolt
53
-
54
- # The Dolt CLI
55
-
56
- The `dolt` library installs a CLI that can be used to quickly browse either a
57
- single (typically the current) repository, or multiple repositories.
58
-
59
- ## Browsing a single repository
60
-
61
- In a git repository, issue the following command:
62
-
63
- $ dolt .
64
-
65
- Then open a browser at [http://localhost:3000](http://localhost:3000). You will
66
- be redirected to the root tree, and can browse the repository. To view trees and
67
- blobs at specific refs, use the URL. A branch/tag selector will be added later.
68
-
69
- ## Browsing multiple repositories
70
-
71
- The idea is that eventually, `dolt` should be able to serve up all Git
72
- repositories managed by your Gitorious server. It does not yet do that, because
73
- there currently is no "repository resolver" that understands the hashed paths
74
- Gitorious uses.
75
-
76
- Meanwhile, if you have a directory that contains multiple git repositories, you
77
- can browse all of them through the same process by doing:
78
-
79
- $ dolt /path/to/repos
80
-
81
- Now [http://localhost:3000/repo](http://localhost:3000/repo) will allow you to
82
- browse the `/path/repos/repo` repository. As `dolt` matures, there will be a
83
- listing of all repositories and more.
84
-
85
- ## Markup rendering
86
-
87
- Dolt uses the [``GitHub::Markup``](https://github.com/github/markup/) library to
88
- render certain markup formats as HTML. Dolt does not have a hard dependency on
89
- any of the required gems to actually render markups, so see the
90
- [``GitHub::Markup`` docs](https://github.com/github/markup/) for information on
91
- what and how to install support for various languages.
92
-
93
- # License
94
-
95
- Dolt is free software licensed under the
96
- [GNU Affero General Public License (AGPL)](http://www.gnu.org/licenses/agpl-3.0.html).
97
- Dolt is developed as part of the Gitorious project.