gitgo 0.3.3
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/History +44 -0
- data/License.txt +22 -0
- data/README +45 -0
- data/bin/gitgo +4 -0
- data/lib/gitgo.rb +1 -0
- data/lib/gitgo/app.rb +63 -0
- data/lib/gitgo/controller.rb +89 -0
- data/lib/gitgo/controllers/code.rb +198 -0
- data/lib/gitgo/controllers/issue.rb +76 -0
- data/lib/gitgo/controllers/repo.rb +186 -0
- data/lib/gitgo/controllers/wiki.rb +19 -0
- data/lib/gitgo/document.rb +680 -0
- data/lib/gitgo/document/invalid_document_error.rb +34 -0
- data/lib/gitgo/documents/comment.rb +20 -0
- data/lib/gitgo/documents/issue.rb +56 -0
- data/lib/gitgo/git.rb +941 -0
- data/lib/gitgo/git/tree.rb +315 -0
- data/lib/gitgo/git/utils.rb +59 -0
- data/lib/gitgo/helper.rb +3 -0
- data/lib/gitgo/helper/doc.rb +28 -0
- data/lib/gitgo/helper/form.rb +88 -0
- data/lib/gitgo/helper/format.rb +200 -0
- data/lib/gitgo/helper/html.rb +19 -0
- data/lib/gitgo/helper/utils.rb +85 -0
- data/lib/gitgo/index.rb +421 -0
- data/lib/gitgo/index/idx_file.rb +119 -0
- data/lib/gitgo/index/sha_file.rb +135 -0
- data/lib/gitgo/patches/grit.rb +47 -0
- data/lib/gitgo/repo.rb +626 -0
- data/lib/gitgo/repo/graph.rb +333 -0
- data/lib/gitgo/repo/node.rb +122 -0
- data/lib/gitgo/rest.rb +87 -0
- data/lib/gitgo/server.rb +114 -0
- data/lib/gitgo/version.rb +8 -0
- data/public/css/gitgo.css +24 -0
- data/public/javascript/gitgo.js +148 -0
- data/public/javascript/jquery-1.4.2.min.js +154 -0
- data/views/app/index.erb +4 -0
- data/views/app/timeline.erb +27 -0
- data/views/app/welcome.erb +13 -0
- data/views/code/_comment.erb +10 -0
- data/views/code/_comment_form.erb +14 -0
- data/views/code/_comments.erb +5 -0
- data/views/code/_commit.erb +25 -0
- data/views/code/_grepnav.erb +5 -0
- data/views/code/_treenav.erb +3 -0
- data/views/code/blob.erb +6 -0
- data/views/code/commit_grep.erb +35 -0
- data/views/code/commits.erb +11 -0
- data/views/code/diff.erb +10 -0
- data/views/code/grep.erb +32 -0
- data/views/code/index.erb +17 -0
- data/views/code/obj/blob.erb +4 -0
- data/views/code/obj/commit.erb +25 -0
- data/views/code/obj/tag.erb +25 -0
- data/views/code/obj/tree.erb +9 -0
- data/views/code/tree.erb +9 -0
- data/views/error.erb +19 -0
- data/views/issue/_issue.erb +15 -0
- data/views/issue/_issue_form.erb +39 -0
- data/views/issue/edit.erb +11 -0
- data/views/issue/index.erb +28 -0
- data/views/issue/new.erb +5 -0
- data/views/issue/show.erb +27 -0
- data/views/layout.erb +34 -0
- data/views/not_found.erb +1 -0
- data/views/repo/fsck.erb +29 -0
- data/views/repo/help.textile +5 -0
- data/views/repo/help/faq.textile +19 -0
- data/views/repo/help/howto.textile +31 -0
- data/views/repo/help/trouble.textile +28 -0
- data/views/repo/idx.erb +29 -0
- data/views/repo/index.erb +72 -0
- data/views/repo/status.erb +16 -0
- data/views/wiki/index.erb +3 -0
- metadata +253 -0
data/views/app/index.erb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
<h1>Timeline<% unless author.nil? %> for <%= escape_html(author.empty? ? 'unknown' : author) %><% end %></h1>
|
2
|
+
<ul>
|
3
|
+
<li class="newer"><% if docs && page >= 1 %><a href="<%= url('timeline') %>?<%= build_query(:author => author, :page => page - 1, :per_page => per_page) %>">newer</a><% else %>(newer)<% end %></li>
|
4
|
+
<li class="older"><% if docs && docs.length == per_page %><a href="<%= url('timeline') %>?<%= build_query(:author => author, :page => page + 1, :per_page => per_page) %>">older</a><% else %>(older)<% end %></li>
|
5
|
+
</ul>
|
6
|
+
|
7
|
+
<ul>
|
8
|
+
<li><a href="<%= url('timeline') %>">All Authors</a></li><% authors.each do |author| %>
|
9
|
+
<li><a href="<%= url('timeline') %>?<%= build_query(:author => author) %>"><%= escape_html(author) %></a></li><% end %>
|
10
|
+
</ul>
|
11
|
+
|
12
|
+
<ul class="timeline"><% if docs.empty? %>
|
13
|
+
<li>No activity yet...</li><% else %><% docs.reverse_each do |doc| %>
|
14
|
+
<li>
|
15
|
+
<dl active="<%= doc.active?(active_sha) %>">
|
16
|
+
<dt class="type"><% if doc.graph_head? %>New <% end %><%= doc.type.capitalize %></dt><% if doc.type == 'issue' %>
|
17
|
+
<dd class="type"><%= format.issue_a doc %></dd>
|
18
|
+
<dt class="tags">Tags</dt>
|
19
|
+
<dd class="tags"><%= format.tags doc.tags %></dd><% else %>
|
20
|
+
<dd class="type"><%= format.doc_a doc %></dd><% end %>
|
21
|
+
<dt class="author">Author</dt>
|
22
|
+
<dd class="author"><%= format.author doc.author %></dd>
|
23
|
+
<dt class="date">Date</dt>
|
24
|
+
<dd class="date"><%= format.date doc.date %></dd>
|
25
|
+
</dl>
|
26
|
+
</li><% end %><% end %>
|
27
|
+
</ul>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<h1>Gitgo</h1>
|
2
|
+
|
3
|
+
<p>Welcome! Gitgo will store data on the '<%= branch %>' branch.</p><% unless remotes.empty? %>
|
4
|
+
<p>Select a remote to setup tracking (you can change this on the <a href="<%= form.url('repo') %>">repo</a> page):</p>
|
5
|
+
|
6
|
+
<form action="<%= form.url('repo', 'setup') %>" method="post">
|
7
|
+
<input type="hidden" name="redirect" value="<%= form.url %>">
|
8
|
+
<select name="upstream_branch"><% form.each_ref_name(remotes, Gitgo::Git::DEFAULT_UPSTREAM_BRANCH) do |value, selection, content| %>
|
9
|
+
<option value="<%= value %>"<%= html.select(selection) %>><%= content %></option><% end %>
|
10
|
+
</select>
|
11
|
+
<input type="submit" value="Setup" />
|
12
|
+
</form>
|
13
|
+
<% end %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
|
2
|
+
<dl class="comment">
|
3
|
+
<dt class="content">Comment <%= format.sha_a comment.sha %></dt>
|
4
|
+
<dd class="content"><%= format.content comment.content %></dd>
|
5
|
+
<dt class="author">Author</dt>
|
6
|
+
<dd class="author"><%= format.author comment.author %></dd>
|
7
|
+
<dt class="date">Date</dt>
|
8
|
+
<dd class="date"><%= format.date comment.date %></dd>
|
9
|
+
</dl>
|
10
|
+
<% if comment[:tail] %><%= erb(:_comment_form, :locals => {:sha => comment['re'], :parent => comment.sha}, :layout => false) %><% end %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
|
2
|
+
<form class="comment" action="<%= parent ? url('comments', sha, parent) : url('comments', sha) %>" method="post">
|
3
|
+
<input type="hidden" name="redirect" value="<%= request.env['REQUEST_URI'] %>" />
|
4
|
+
|
5
|
+
<dl class="form">
|
6
|
+
<dt><label for="content">Comment</label></dt>
|
7
|
+
<dd><textarea id="content" name="content"></textarea></dd>
|
8
|
+
<dt><label for="commit">Commit</label></dt>
|
9
|
+
<dd><input id="commit" type="checkbox" name="commit" value="true" checked="true"/></dd>
|
10
|
+
<dt><input type="submit" value="Comment" /></dt>
|
11
|
+
<dd></dd>
|
12
|
+
</dl>
|
13
|
+
</form>
|
14
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
<div class="commit">
|
3
|
+
<dl class="commit">
|
4
|
+
<dt class="message">Message</dt>
|
5
|
+
<dd class="message"><%= format.text commit.message %></dd>
|
6
|
+
<dt class="author">Author</dt>
|
7
|
+
<dd class="author"><%= format.author commit.author %></dd>
|
8
|
+
<dt class="author-date">Authored Date</dt>
|
9
|
+
<dd class="author-date"><%= format.date commit.authored_date %></dd><% if commit.author.to_s != commit.committer.to_s %>
|
10
|
+
<dt class="committer">Committer</dt>
|
11
|
+
<dd class="committer"><%= format.author commit.committer %></dd>
|
12
|
+
<dt class="committed-date">Committed Date</dt>
|
13
|
+
<dd class="committed-date"><%= format.date commit.committed_date %></dd><% end %>
|
14
|
+
<dt class="sha">Commit</dt>
|
15
|
+
<dd class="sha"><%= format.commit_a commit.sha %></dd>
|
16
|
+
<dt class="tree">Tree</dt>
|
17
|
+
<dd class="tree"><%= format.tree_a commit.sha %></dd>
|
18
|
+
<dt class="parents">Parents</dt>
|
19
|
+
<dd class="parents">
|
20
|
+
<ul class="parents"><% commit.parents.each do |parent| %>
|
21
|
+
<li class="parent"><a><%= format.commit_a parent.sha %></li><% end %>
|
22
|
+
</ul>
|
23
|
+
</dd>
|
24
|
+
</dl>
|
25
|
+
</div>
|
data/views/code/blob.erb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
<h1>Search Commits</h1>
|
2
|
+
<% unless Gitgo::Git.version_ok? %>
|
3
|
+
<em>warning the version of git on the server is insufficient for this action (must be <%= Gitgo::Git::GIT_VERSION.join('.') %>, but is <%= git.version.join('.') %>)</em>
|
4
|
+
<% end %>
|
5
|
+
<%= erb :_grepnav, :layout => false %>
|
6
|
+
|
7
|
+
<form class="grep" action="<%= form.url('commit') %>" method="get">
|
8
|
+
<dl class="form">
|
9
|
+
<dt><label for="author">Author</label></dt>
|
10
|
+
<dd><input id="author" type="text" name="author" value="<%= form.author_value author %>" /></dd>
|
11
|
+
<dt><label for="committer">Committer</label></dt>
|
12
|
+
<dd><input id="committer" type="text" name="committer" value="<%= form.author_value committer %>" /></dd>
|
13
|
+
<dt><label for="grep">Message</label></dt>
|
14
|
+
<dd><input id="grep" type="text" name="grep" value="<%= form.value grep %>" /></dd>
|
15
|
+
<dt><label for="ignore_case">Case-Insensitive</label></dt>
|
16
|
+
<dd><input id="ignore_case" type="checkbox" name="regexp_ignore_case " value="true" <%= html.check(regexp_ignore_case) %>/></dd>
|
17
|
+
<dt><label for="fixed_strings">Fixed Strings</label></dt>
|
18
|
+
<dd><input id="fixed_strings" type="checkbox" name="fixed_strings" value="true" <%= html.check(fixed_strings) %>/></dd>
|
19
|
+
<dt><label for="all_match">All Match</label></dt>
|
20
|
+
<dd><input id="all_match" type="checkbox" name="all_match" value="true" <%= html.check(all_match) %>/></dd>
|
21
|
+
<dt><label for="max_count">Max Count</label></dt>
|
22
|
+
<dd><input id="max_count" type="text" name="max_count" value="<%= form.value max_count %>" /></dd>
|
23
|
+
<dt><input type="submit" value="Grep" /></dt>
|
24
|
+
<dd></dd>
|
25
|
+
</dl>
|
26
|
+
</form>
|
27
|
+
|
28
|
+
<% if selected.empty? %><em>None selected!</em><% end %>
|
29
|
+
<table><% selected.each do |commit| %>
|
30
|
+
<tr>
|
31
|
+
<td><%= format.author commit.author %></td>
|
32
|
+
<td><%= format.commit_a commit.sha %></a></td>
|
33
|
+
<td><%= format.text commit.message %></td>
|
34
|
+
</tr><% end %>
|
35
|
+
</table>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<h1>Commits</h1>
|
2
|
+
<ul class="commitnav">
|
3
|
+
<li class="newer"><% if page >= 1 %><a href="<%= url('commits', treeish) %>?<%= build_query(:page => page - 1, :per_page => per_page) %>">newer</a><% else %>(newer)<% end %></li>
|
4
|
+
<li class="older"><% if commits.length == per_page %><a href="<%= url('commits', treeish) %>?<%= build_query(:page => page + 1, :per_page => per_page) %>">older</a><% else %>(older)<% end %></li>
|
5
|
+
</ul>
|
6
|
+
|
7
|
+
<div class="commits">
|
8
|
+
<ul class="commits"><% commits.each do |commit| %>
|
9
|
+
<li><%= erb :_commit, :locals => {:commit => commit}, :layout => false %></li><% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
data/views/code/diff.erb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
<%= erb :_commit, :locals => {:commit => commit}, :layout => false %>
|
2
|
+
<div class="diff">
|
3
|
+
<ul class="diff"><% commit.diffs.each do |diff| %><% if diff.new_file %>
|
4
|
+
<li class="add"><%= escape_html(diff.b_path) %></li><% elsif diff.deleted_file %>
|
5
|
+
<li class="rm"><%= escape_html(diff.a_path) %></li><% else %>
|
6
|
+
<li class="diff">
|
7
|
+
<pre><%= escape_html(diff.diff) %></pre>
|
8
|
+
</li><% end %><% end %>
|
9
|
+
</ul>
|
10
|
+
</div>
|
data/views/code/grep.erb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
<h1>Search <%= escape_html(type.capitalize) %>s</h1>
|
2
|
+
|
3
|
+
<%= erb :_grepnav, :layout => false %>
|
4
|
+
|
5
|
+
<form class="grep" action="<%= url(type) %>" method="get">
|
6
|
+
<dl class="form">
|
7
|
+
<dt><label for="pattern">Pattern</label></dt>
|
8
|
+
<dd><input id="pattern" type="text" name="pattern" value="<%= form.value e %>" /></dd>
|
9
|
+
<dt><label for="ignore_case">Case-Insensitive</label></dt>
|
10
|
+
<dd><input id="ignore_case" type="checkbox" name="ignore_case" value="true" <%= html.check(ignore_case) %>/></dd>
|
11
|
+
<dt><label for="invert_match">Invert Match</label></dt>
|
12
|
+
<dd><input id="invert_match" type="checkbox" name="invert_match" value="true" <%= html.check(invert_match) %>/></dd>
|
13
|
+
<dt><label for="fixed_strings">Fixed Strings</label></dt>
|
14
|
+
<dd><input id="fixed_strings" type="checkbox" name="fixed_strings" value="true" <%= html.check(fixed_strings) %>/></dd>
|
15
|
+
<dt><label for="at">At</label></dt>
|
16
|
+
<dd>
|
17
|
+
<select id="at" name="at"><% form.each_ref(refs, grit.head.name) do |value, selection, content| %>
|
18
|
+
<option value="<%= value %>"<%= html.select(selection) %>><%= content %></option><% end %>
|
19
|
+
<option value="">(none)</option>
|
20
|
+
</select>
|
21
|
+
</dd>
|
22
|
+
<dt><input type="submit" value="Grep" /></dt>
|
23
|
+
<dd></dd>
|
24
|
+
</dl>
|
25
|
+
</form>
|
26
|
+
|
27
|
+
<% if selected.empty? %><em>None selected!</em><% end %>
|
28
|
+
<table><% selected.each do |(path, obj)| %>
|
29
|
+
<tr>
|
30
|
+
<td><%= format.full_path_a('blob', at, path) %></td>
|
31
|
+
</tr><% end %>
|
32
|
+
</table>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<h1>Code</h1>
|
2
|
+
<div class="code">
|
3
|
+
<h3>Search</h3>
|
4
|
+
<%= erb :_grepnav, :layout => false %>
|
5
|
+
|
6
|
+
<h3>Branches</h3><% if branches.empty? %>
|
7
|
+
<em>No branches yet.</em><% end %>
|
8
|
+
<ul><% branches.each do |ref| %>
|
9
|
+
<li><%= format.tree_a ref.name %> (<%= format.history_a ref.name %>)</li><% end %>
|
10
|
+
</ul>
|
11
|
+
|
12
|
+
<h3>Tags</h3><% if tags.empty? %>
|
13
|
+
<em>No tags yet.</em><% end %>
|
14
|
+
<ul><% tags.each do |ref| %>
|
15
|
+
<li><%= format.tree_a ref.name %> (<%= format.history_a ref.name %>)</li><% end %>
|
16
|
+
</ul>
|
17
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<h2>Commit <%= format.sha_a sha %></h2>
|
2
|
+
<div class="commit">
|
3
|
+
<dl class="commit">
|
4
|
+
<dt class="message">Message</dt>
|
5
|
+
<dd class="message"><%= format.text obj.message %></dd>
|
6
|
+
<dt class="author">Author</dt>
|
7
|
+
<dd class="author"><%= format.author obj.author %></dd>
|
8
|
+
<dt class="author-date">Authored Date</dt>
|
9
|
+
<dd class="author-date"><%= format.date obj.authored_date %></dd><% if obj.author.to_s != obj.committer.to_s %>
|
10
|
+
<dt class="committer">Committer</dt>
|
11
|
+
<dd class="committer"><%= format.author obj.committer %></dd>
|
12
|
+
<dt class="committed-date">Committed Date</dt>
|
13
|
+
<dd class="committed-date"><%= format.date obj.committed_date %></dd><% end %>
|
14
|
+
<dt class="sha">Commit</dt>
|
15
|
+
<dd class="sha"><%= format.sha_a obj.sha %></dd>
|
16
|
+
<dt class="tree">Tree</dt>
|
17
|
+
<dd class="tree"><%= format.sha_a obj.tree.id %></dd>
|
18
|
+
<dt class="parents">Parents</dt>
|
19
|
+
<dd class="parents">
|
20
|
+
<ul class="parents"><% obj.parents.each do |parent| %>
|
21
|
+
<li class="parent"><a><%= format.commit_a parent.sha %></li><% end %>
|
22
|
+
</ul>
|
23
|
+
</dd>
|
24
|
+
</dl>
|
25
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<h2>Tag <%= format.sha_a sha %></h2><% commit = obj.commit %>
|
2
|
+
<div class="tag">
|
3
|
+
<dl class="tag">
|
4
|
+
<dt class="message">Message</dt>
|
5
|
+
<dd class="message"><%= format.text commit.message %></dd>
|
6
|
+
<dt class="author">Author</dt>
|
7
|
+
<dd class="author"><%= format.author commit.author %></dd>
|
8
|
+
<dt class="author-date">Authored Date</dt>
|
9
|
+
<dd class="author-date"><%= format.date commit.authored_date %></dd><% if commit.author.to_s != commit.committer.to_s %>
|
10
|
+
<dt class="committer">Committer</dt>
|
11
|
+
<dd class="committer"><%= format.author commit.committer %></dd>
|
12
|
+
<dt class="committed-date">Committed Date</dt>
|
13
|
+
<dd class="committed-date"><%= format.date commit.committed_date %></dd><% end %>
|
14
|
+
<dt class="sha">Commit</dt>
|
15
|
+
<dd class="sha"><%= format.sha_a commit.sha %></dd>
|
16
|
+
<dt class="tree">Tree</dt>
|
17
|
+
<dd class="tree"><%= format.sha_a commit.tree.id %></dd>
|
18
|
+
<dt class="parents">Parents</dt>
|
19
|
+
<dd class="parents">
|
20
|
+
<ul class="parents"><% commit.parents.each do |parent| %>
|
21
|
+
<li class="parent"><a><%= format.commit_a parent.sha %></li><% end %>
|
22
|
+
</ul>
|
23
|
+
</dd>
|
24
|
+
</dl>
|
25
|
+
</div>
|
data/views/code/tree.erb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
<%= erb :_commit, :locals => {:commit => commit }, :layout => false %>
|
2
|
+
<%= erb :_treenav, :locals => {:treeish => treeish, :path => path}, :layout => false %>
|
3
|
+
|
4
|
+
<div class="tree">
|
5
|
+
<ul class="contents"><% tree.contents.each do |obj| %><% if obj.kind_of?(Grit::Tree) %>
|
6
|
+
<li class="tree"><%= format.tree_a(treeish, path, obj.name) %></li><% else %>
|
7
|
+
<li class="blob"><%= format.blob_a(treeish, path, obj.name) %></li><% end %><% end %>
|
8
|
+
</ul>
|
9
|
+
</div>
|
data/views/error.erb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
<h1>Server Error:</h1>
|
2
|
+
|
3
|
+
<dl>
|
4
|
+
<dt><%= escape_html(err.class) %></dt>
|
5
|
+
<dd><pre><%= escape_html(err.message) %></pre></dd><% if resetable %>
|
6
|
+
<dt></dt>
|
7
|
+
<dd>
|
8
|
+
Errors of this type can occur when the repository has been invalidated,
|
9
|
+
for example by a 'git gc' performed on the command line. Try reseting
|
10
|
+
gitgo, or simply restart the server.
|
11
|
+
|
12
|
+
<form action="<%= url('repo', 'reset') %>" method="post">
|
13
|
+
<input type="hidden" name="full" value="true" />
|
14
|
+
<input type="submit" value="Reset" />
|
15
|
+
</form>
|
16
|
+
</dd><% end %>
|
17
|
+
<dt>Backtrace</dt>
|
18
|
+
<dd><pre><%= escape_html(err.backtrace.join("\n")) %></pre></dd>
|
19
|
+
</dl>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
<dl class="issue" id="<%= doc.sha %>" active="<%= doc.active?(active_sha) %>">
|
3
|
+
<dt class="content"><%= doc.graph_head? ? 'Description' : 'Comment' %></dt>
|
4
|
+
<dd class="content"><%= format.content doc.content %></dd>
|
5
|
+
<dt class="tags">Tags</dt>
|
6
|
+
<dd class="tags"><%= format.tags doc.tags %></dd>
|
7
|
+
<dt class="author">Author</dt>
|
8
|
+
<dd class="author"><%= format.author doc.author %></dd>
|
9
|
+
<dt class="date">Date</dt>
|
10
|
+
<dd class="date"><%= format.date doc.date %></dd>
|
11
|
+
<dt class="at">At</dt>
|
12
|
+
<dd class="at"><%= format.at doc.at %></dd><% if doc.saved? %>
|
13
|
+
<dt class="edit"><a href="<%= format.url('issue', doc.sha, 'edit') %>">Edit</a></dt>
|
14
|
+
<dd></dd><% end %>
|
15
|
+
</dl>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
<div class="preview"><% if preview? %>
|
4
|
+
<dl><% if parents.empty? %>
|
5
|
+
<dt class="title">Title</dt>
|
6
|
+
<dd class="title"><%= format.title doc.title %></dd><% end %>
|
7
|
+
<dt class="content">Description</dt>
|
8
|
+
<dd class="content"><%= format.content doc.content %></dd>
|
9
|
+
<dt class="tags">Tags</dt>
|
10
|
+
<dd class="tags"><%= format.tags doc.tags %></dd>
|
11
|
+
<dt class="at">At</dt>
|
12
|
+
<dd class="at"><%= format.at doc.at %></dd>
|
13
|
+
</dl>
|
14
|
+
</div><% end %><% parents.each do |sha| %>
|
15
|
+
<input type="hidden" name="parents[]" value="<%= form.value sha %>" /><% end %>
|
16
|
+
|
17
|
+
<dl><% if parents.empty? %>
|
18
|
+
<dt><label for="title">Title</label></dt>
|
19
|
+
<dd><input id="title" type="text" name="doc[title]" value="<%= form.title_value doc.title %>" /></dd><% end %>
|
20
|
+
<dt><label for="content"><%= parents.empty? ? 'Description' : 'Comment' %></label></dt>
|
21
|
+
<dd><textarea id="content" name="doc[content]"><%= form.content_value doc.content %></textarea></dd>
|
22
|
+
<dt><label for="tags">Tags</label></dt>
|
23
|
+
<dd>
|
24
|
+
<ul><% form.each_tag(tags, *doc.tags) do |value, selection, content| %>
|
25
|
+
<li><input type="checkbox" name="doc[tags][]" value="<%= value %>"<%= html.check(selection) %>><%= content %></input></li><% end %>
|
26
|
+
<li><input type="input" name="doc[tags][]" /></li>
|
27
|
+
</ul>
|
28
|
+
</dd>
|
29
|
+
<dt><label for="at">At</label></dt>
|
30
|
+
<dd>
|
31
|
+
<select id="at" name="doc[at]"><% form.each_ref_name(repo.git.grit.refs, doc.at) do |value, selection, content| %>
|
32
|
+
<option value="<%= value %>"<%= html.select(selection) %>><%= content %></option><% end %>
|
33
|
+
</select>
|
34
|
+
</dd>
|
35
|
+
<dt><label for="preview">Preview</label></dt>
|
36
|
+
<dd><input id="preview" type="checkbox" name="preview" value="true"/></dd>
|
37
|
+
<dt><input type="submit" value="<%= parents.empty? && !doc.saved? ? 'Create' : 'Update' %>" /></dt>
|
38
|
+
<dd></dd>
|
39
|
+
</dl>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<h1>Issue <%= format.sha_a doc.sha %></h1>
|
2
|
+
|
3
|
+
<form action="<%= form.url('issue', doc.sha) %>" method="post">
|
4
|
+
<input type="hidden" name="_method" value="update"/>
|
5
|
+
<%= erb :_issue_form, :locals => {:doc => doc, :parents => doc.node.parents }, :layout => false %>
|
6
|
+
</form>
|
7
|
+
|
8
|
+
<form action="<%= form.url('issue', doc.sha) %>" method="post">
|
9
|
+
<input type="hidden" name="_method" value="delete"/>
|
10
|
+
<input type="submit" value="Delete" />
|
11
|
+
</form>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<h1>Issues</h1>
|
2
|
+
|
3
|
+
<form class="issue" action="<%= form.url('issue', 'new') %>" method="get">
|
4
|
+
<input type="submit" value="New Issue" >
|
5
|
+
</form>
|
6
|
+
|
7
|
+
<form class="issue" action="<%= form.url('issue') %>" method="get">
|
8
|
+
<h3>Tags</h3>
|
9
|
+
<ul><% form.each_tag(tags, *all['tags']) do |value, selection, content| %>
|
10
|
+
<li><input type="checkbox" name="tags[]" value="<%= value %>"<%= html.check(selection) %>><%= content %></input></li><% end %>
|
11
|
+
</ul>
|
12
|
+
|
13
|
+
<h3>Sort</h3>
|
14
|
+
<ul>
|
15
|
+
<li><input type="radio" name="sort" value="date" <%= html.check(sort == 'date') %>>Date</input></li>
|
16
|
+
<li><input type="radio" name="sort" value="title" <%= html.check(sort == 'title') %>>Title</input></li>
|
17
|
+
<li><input type="checkbox" name="reverse" value="true" <%= html.check(reverse) %>>Reverse</input>
|
18
|
+
</ul>
|
19
|
+
|
20
|
+
<input type="submit" value="Find" >
|
21
|
+
</form>
|
22
|
+
|
23
|
+
<div class="issues">
|
24
|
+
<ul class="issues"><% docs.each do |doc| %>
|
25
|
+
<li id="<%= doc.sha %>" active="<%= doc.graph_active?(active_sha) %>"><%= format.issue_a doc %></li><% end %>
|
26
|
+
</ul>
|
27
|
+
</div>
|
28
|
+
|