ditz 0.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/Changelog +2 -0
- data/README.txt +117 -0
- data/Rakefile +48 -0
- data/bin/ditz +77 -0
- data/lib/component.rhtml +18 -0
- data/lib/ditz.rb +13 -0
- data/lib/html.rb +41 -0
- data/lib/index.rhtml +83 -0
- data/lib/issue.rhtml +106 -0
- data/lib/issue_table.rhtml +29 -0
- data/lib/lowline.rb +150 -0
- data/lib/model-objects.rb +265 -0
- data/lib/model.rb +137 -0
- data/lib/operator.rb +408 -0
- data/lib/release.rhtml +67 -0
- data/lib/style.css +91 -0
- data/lib/unassigned.rhtml +27 -0
- data/lib/util.rb +33 -0
- metadata +79 -0
data/lib/style.css
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
body {
|
2
|
+
background: white;
|
3
|
+
color: #202020;
|
4
|
+
margin-bottom: 2em;
|
5
|
+
margin-left: auto;
|
6
|
+
margin-right: auto;
|
7
|
+
width: 90%;
|
8
|
+
}
|
9
|
+
|
10
|
+
a, a:visited {
|
11
|
+
border-bottom: 1px dotted #03c;
|
12
|
+
background: inherit;
|
13
|
+
color: #03c;
|
14
|
+
text-decoration: none;
|
15
|
+
}
|
16
|
+
|
17
|
+
ul {
|
18
|
+
list-style-type: none;
|
19
|
+
padding: 0;
|
20
|
+
}
|
21
|
+
|
22
|
+
p {
|
23
|
+
width: 40em;
|
24
|
+
}
|
25
|
+
|
26
|
+
table {
|
27
|
+
border-style: none;
|
28
|
+
border-spacing: 0;
|
29
|
+
}
|
30
|
+
|
31
|
+
td {
|
32
|
+
border-width: 0;
|
33
|
+
border-style: none;
|
34
|
+
padding-right: 0.5em;
|
35
|
+
padding-left: 0.5em;
|
36
|
+
}
|
37
|
+
|
38
|
+
tr {
|
39
|
+
padding-bottom: 5em;
|
40
|
+
}
|
41
|
+
|
42
|
+
h1 {
|
43
|
+
padding: 0.2em;
|
44
|
+
margin-left: -1em;
|
45
|
+
margin-right: 1em;
|
46
|
+
background: #abc;
|
47
|
+
}
|
48
|
+
|
49
|
+
.attrname {
|
50
|
+
text-align: right;
|
51
|
+
}
|
52
|
+
|
53
|
+
.issuestatus_closed {
|
54
|
+
background-color: #afa;
|
55
|
+
text-align: center;
|
56
|
+
}
|
57
|
+
|
58
|
+
.issuestatus_in_progress {
|
59
|
+
background-color: #ffa;
|
60
|
+
text-align: center;
|
61
|
+
}
|
62
|
+
|
63
|
+
.issuestatus_paused {
|
64
|
+
background-color: #ffa;
|
65
|
+
text-align: center;
|
66
|
+
}
|
67
|
+
|
68
|
+
.issuestatus_unstarted {
|
69
|
+
background-color: #faa;
|
70
|
+
text-align: center;
|
71
|
+
}
|
72
|
+
|
73
|
+
.logwhat {
|
74
|
+
font-style: italic;
|
75
|
+
}
|
76
|
+
|
77
|
+
.logentryeven {
|
78
|
+
background: #eee;
|
79
|
+
}
|
80
|
+
|
81
|
+
.logentryodd {
|
82
|
+
background: #eee;
|
83
|
+
}
|
84
|
+
|
85
|
+
.logcomment {
|
86
|
+
padding-left: 3em;
|
87
|
+
}
|
88
|
+
|
89
|
+
.footer {
|
90
|
+
font-size: small;
|
91
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
2
|
+
<head>
|
3
|
+
<title>Issues not assigned to any release</title>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
|
5
|
+
<link rel="stylesheet" href="style.css" type="text/css" />
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
|
9
|
+
<h1>Issues not assigned to any release</h1>
|
10
|
+
|
11
|
+
<table>
|
12
|
+
<% issues.sort_by { |i| i.sort_order }.each do |i| %>
|
13
|
+
<tr>
|
14
|
+
<td class="issuestatus_<%= i.status %>">
|
15
|
+
<%= i.status_string %><% if i.closed? %>: <%= i.disposition_string %><% end %>
|
16
|
+
</td>
|
17
|
+
<td class="issuename">
|
18
|
+
<%= link_to i, i.title %>
|
19
|
+
<%= i.bug? ? '(bug)' : '' %>
|
20
|
+
</td>
|
21
|
+
</tr>
|
22
|
+
<% end %>
|
23
|
+
</table>
|
24
|
+
|
25
|
+
<p class="footer">Generated <%= Time.now %> by <a href="http://ditz.rubyforge.org/">ditz</a>.
|
26
|
+
</body>
|
27
|
+
</html>
|
data/lib/util.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
class Object
|
2
|
+
def returning o; yield o; o end # k-combinator
|
3
|
+
end
|
4
|
+
|
5
|
+
module Enumerable
|
6
|
+
def count_of(&b); select(&b).size end
|
7
|
+
def max_of(&b); map(&b).max end
|
8
|
+
def min_of(&b); map(&b).min end
|
9
|
+
end
|
10
|
+
|
11
|
+
module Enumerable
|
12
|
+
def map_with_index # sigh...
|
13
|
+
ret = []
|
14
|
+
each_with_index { |e, i| ret << yield(e, i) }
|
15
|
+
ret
|
16
|
+
end
|
17
|
+
|
18
|
+
def argfind
|
19
|
+
each { |e| x = yield(e); return x if x }
|
20
|
+
nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
class Array
|
25
|
+
def first_duplicate
|
26
|
+
sa = sort
|
27
|
+
(1 .. sa.length).argfind { |i| (sa[i] == sa[i - 1]) && sa[i] }
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_h
|
31
|
+
Hash[*flatten]
|
32
|
+
end
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ditz
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: "0.1"
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- William Morgan
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-04-02 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: trollop
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: "1.7"
|
23
|
+
version:
|
24
|
+
description: "Ditz is a simple, light-weight distributed issue tracker designed to work with distributed version control systems like darcs and git. Ditz maintains an issue database file on disk, written in a line-based and human-editable format. This file can be kept under version control alongside project code, and issue state change can then be handled like code changes: modified as part of a commit, merged with other state changes from other developers, conflict-resolved in the standard manner, etc. Ditz provides a simple, console-based interface for creating and updating the issue database file, and some rudimentary HTML generation capabilities for producing world-readable status pages. It offers no central public method of bug submission. # where am i? 4. ditz status 5. ditz todo # do work 6. write code 7. ditz close <issue-id> 8. commit 9. goto 3 # finished! 10. ditz release <release-name> == THE DITZ DATA MODEL Ditz includes the bare minimum set of features necessary for open-source development. Features like time spent, priority, assignment of tasks to developers, due dates, etc. are purposely excluded. A ditz project consists of issues, releases and components. Issues: Issues are the fundamental currency of issue tracking. A ditz issue is either a feature or a bug, but this distinction doesn't affect anything other than how they're displayed. Each issue belongs to exactly one component, and is part of zero or one releases. Each issues has an exportable id, in the form of 40 random hex characters. This id is \"guaranteed\" to be unique across all possible issues and developers, present and future. Issue ids are typically not exposed to the user. Issues also have a non-exportable name, which is short and human-readable. All ditz commands use issue names instead of issue ids. Issue ids may change in certain circumstances, specifically after a \"ditz drop\" command."
|
25
|
+
email: wmorgan-ditz@masanjin.net
|
26
|
+
executables:
|
27
|
+
- ditz
|
28
|
+
extensions: []
|
29
|
+
|
30
|
+
extra_rdoc_files:
|
31
|
+
- README.txt
|
32
|
+
files:
|
33
|
+
- Changelog
|
34
|
+
- README.txt
|
35
|
+
- Rakefile
|
36
|
+
- bin/ditz
|
37
|
+
- lib/component.rhtml
|
38
|
+
- lib/ditz.rb
|
39
|
+
- lib/html.rb
|
40
|
+
- lib/index.rhtml
|
41
|
+
- lib/issue.rhtml
|
42
|
+
- lib/issue_table.rhtml
|
43
|
+
- lib/lowline.rb
|
44
|
+
- lib/model-objects.rb
|
45
|
+
- lib/model.rb
|
46
|
+
- lib/operator.rb
|
47
|
+
- lib/release.rhtml
|
48
|
+
- lib/style.css
|
49
|
+
- lib/unassigned.rhtml
|
50
|
+
- lib/util.rb
|
51
|
+
has_rdoc: true
|
52
|
+
homepage: http://ditz.rubyforge.org
|
53
|
+
post_install_message:
|
54
|
+
rdoc_options:
|
55
|
+
- --main
|
56
|
+
- README.txt
|
57
|
+
require_paths:
|
58
|
+
- lib
|
59
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: "0"
|
64
|
+
version:
|
65
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: "0"
|
70
|
+
version:
|
71
|
+
requirements: []
|
72
|
+
|
73
|
+
rubyforge_project: ditz
|
74
|
+
rubygems_version: 1.0.1
|
75
|
+
signing_key:
|
76
|
+
specification_version: 2
|
77
|
+
summary: A simple issue tracker designed to integrate well with distributed version control systems like git and darcs. State is saved to a YAML file kept under version control, allowing issues to be closed/added/modified as part of a commit.
|
78
|
+
test_files: []
|
79
|
+
|