Fossil SCM

Add a draft document describing the ticket tables and how they are generated from ticket change artifacts.

drh 2013-02-13 11:31 trunk
Commit d5be709c2021f7b815cf2505ce01a9f95f55983e
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -49,10 +49,11 @@
4949
ssl.wiki {Using SSL with Fossil}
5050
sync.wiki {The Fossil Sync Protocol}
5151
tech_overview.wiki {A Technical Overview Of The Design And Implementation
5252
Of Fossil}
5353
tech_overview.wiki {SQLite Databases Used By Fossil}
54
+ tickets.wiki {The Fossil Ticket System}
5455
theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
5556
webui.wiki {The Fossil Web Interface}
5657
wikitheory.wiki {Wiki In Fossil}
5758
}
5859
5960
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -49,10 +49,11 @@
49 ssl.wiki {Using SSL with Fossil}
50 sync.wiki {The Fossil Sync Protocol}
51 tech_overview.wiki {A Technical Overview Of The Design And Implementation
52 Of Fossil}
53 tech_overview.wiki {SQLite Databases Used By Fossil}
 
54 theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
55 webui.wiki {The Fossil Web Interface}
56 wikitheory.wiki {Wiki In Fossil}
57 }
58
59
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -49,10 +49,11 @@
49 ssl.wiki {Using SSL with Fossil}
50 sync.wiki {The Fossil Sync Protocol}
51 tech_overview.wiki {A Technical Overview Of The Design And Implementation
52 Of Fossil}
53 tech_overview.wiki {SQLite Databases Used By Fossil}
54 tickets.wiki {The Fossil Ticket System}
55 theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
56 webui.wiki {The Fossil Web Interface}
57 wikitheory.wiki {Wiki In Fossil}
58 }
59
60
--- www/permutedindex.wiki
+++ www/permutedindex.wiki
@@ -136,18 +136,21 @@
136136
<li><a href="style.wiki">Style Guidelines &mdash; Source Code</a></li>
137137
<li><a href="foss-cklist.wiki">Successful Open-Source Projects &mdash; Checklist For</a></li>
138138
<li><a href="sync.wiki">Sync Protocol &mdash; The Fossil</a></li>
139139
<li><a href="private.wiki">Syncing, and Deleting Private Branches &mdash; Creating,</a></li>
140140
<li><a href="custom_ticket.wiki">System &mdash; Customizing The Ticket</a></li>
141
+<li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
141142
<li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
142143
<li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
143144
<li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
144145
<li><a href="makefile.wiki">The Fossil Build Process</a></li>
145146
<li><a href="sync.wiki">The Fossil Sync Protocol</a></li>
147
+<li><a href="tickets.wiki">The Fossil Ticket System</a></li>
146148
<li><a href="webui.wiki">The Fossil Web Interface</a></li>
147149
<li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li>
148150
<li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
151
+<li><a href="tickets.wiki">Ticket System &mdash; The Fossil</a></li>
149152
<li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
150153
<li><a href="fiveminutes.wiki">Update and Running in 5 Minutes as a Single User</a></li>
151154
<li><a href="fiveminutes.wiki">User &mdash; Update and Running in 5 Minutes as a Single</a></li>
152155
<li><a href="ssl.wiki">Using SSL with Fossil</a></li>
153156
<li><a href="checkin_names.wiki">Version Names &mdash; Checkin And</a></li>
154157
155158
ADDED www/tickets.wiki
--- www/permutedindex.wiki
+++ www/permutedindex.wiki
@@ -136,18 +136,21 @@
136 <li><a href="style.wiki">Style Guidelines &mdash; Source Code</a></li>
137 <li><a href="foss-cklist.wiki">Successful Open-Source Projects &mdash; Checklist For</a></li>
138 <li><a href="sync.wiki">Sync Protocol &mdash; The Fossil</a></li>
139 <li><a href="private.wiki">Syncing, and Deleting Private Branches &mdash; Creating,</a></li>
140 <li><a href="custom_ticket.wiki">System &mdash; Customizing The Ticket</a></li>
 
141 <li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
142 <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
143 <li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
144 <li><a href="makefile.wiki">The Fossil Build Process</a></li>
145 <li><a href="sync.wiki">The Fossil Sync Protocol</a></li>
 
146 <li><a href="webui.wiki">The Fossil Web Interface</a></li>
147 <li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li>
148 <li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
 
149 <li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
150 <li><a href="fiveminutes.wiki">Update and Running in 5 Minutes as a Single User</a></li>
151 <li><a href="fiveminutes.wiki">User &mdash; Update and Running in 5 Minutes as a Single</a></li>
152 <li><a href="ssl.wiki">Using SSL with Fossil</a></li>
153 <li><a href="checkin_names.wiki">Version Names &mdash; Checkin And</a></li>
154
155 DDED www/tickets.wiki
--- www/permutedindex.wiki
+++ www/permutedindex.wiki
@@ -136,18 +136,21 @@
136 <li><a href="style.wiki">Style Guidelines &mdash; Source Code</a></li>
137 <li><a href="foss-cklist.wiki">Successful Open-Source Projects &mdash; Checklist For</a></li>
138 <li><a href="sync.wiki">Sync Protocol &mdash; The Fossil</a></li>
139 <li><a href="private.wiki">Syncing, and Deleting Private Branches &mdash; Creating,</a></li>
140 <li><a href="custom_ticket.wiki">System &mdash; Customizing The Ticket</a></li>
141 <li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
142 <li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
143 <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
144 <li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
145 <li><a href="makefile.wiki">The Fossil Build Process</a></li>
146 <li><a href="sync.wiki">The Fossil Sync Protocol</a></li>
147 <li><a href="tickets.wiki">The Fossil Ticket System</a></li>
148 <li><a href="webui.wiki">The Fossil Web Interface</a></li>
149 <li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li>
150 <li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
151 <li><a href="tickets.wiki">Ticket System &mdash; The Fossil</a></li>
152 <li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
153 <li><a href="fiveminutes.wiki">Update and Running in 5 Minutes as a Single User</a></li>
154 <li><a href="fiveminutes.wiki">User &mdash; Update and Running in 5 Minutes as a Single</a></li>
155 <li><a href="ssl.wiki">Using SSL with Fossil</a></li>
156 <li><a href="checkin_names.wiki">Version Names &mdash; Checkin And</a></li>
157
158 DDED www/tickets.wiki
--- a/www/tickets.wiki
+++ b/www/tickets.wiki
@@ -0,0 +1,69 @@
1
+<title>The Fossil <title>The Fossil Ticket System</title>
2
+
3
+<h2>1.0 File Format</h2>
4
+
5
+At its lowest level, the tickets of Fossil consist solely of
6
+[./fileformi REFERENCES ticket,
7
+ tkt_rid INTEGER REFERENCES blob,
8
+ tkt_mtime DATE,
9
+ -- Add as many fields as required below this line
10
+ login TEXT,
11
+ username TEXT,
12
+ mimetype TEXT,
13
+ icomment TEXT
14
+);
15
+CREATE INDEX ticketchng_idx1 ON ticketchng(tkt_id, tkt_mtime);
16
+</verbatim>
17
+
18
+Generally speaking, there is one row in the TICKETCHNG table for each
19
+change to each ticket. In other words, there i
20
+<b>tkt_c
21
+Generally speaking, therow in the
22
+TICKETCHNG table for each low-level ticket change artifact. The
23
+TICKET table, on the other hand, contains a summary of the current
24
+status of each ticket.
25
+
26
+Fields of the TICKET and TICKETCHNG tables that begin with "tkt_" are
27
+used internally by Fossil. The logic inside of Fossil that converts
28
+ticket change artifacts into row data for the two ticket tables expects
29
+the "tkt_" fields to always be present. All of the other fields of the
30
+TICKET and TICKETCHNG tables are "user defined" in the sense that they
31
+can be anything the administrator of the system wants them to be. The
32
+user-defined fields should correspond to keys in the key/value pairs of
33
+the ticket change artifacts.
34
+
35
+The <b>tkt_id</b> fields of TICKET and TICKETCHNG are an integer key
36
+used to uniquely identify the ticket to which the row belongs. These
37
+keys are for internal use only and may change when doing a "fossil rebuild".
38
+
39
+The <b>tkt_uuid</b> field is the unique hexadecimal identifier for the ticket.
40
+Ticket identifiersy the hash of any identifjst et, Fossil uses
41
+a (high-quality) pseudo-random number generator to create the ticket
42
+number. The ticket numbers are large so that the chance of collision
43
+between any two tickets is vanishingly small.
44
+
45
+The <b>tkt_mtime</b> field of TICKET shows the time (as a Julian day number)
46
+of the most recent ticket change artifact for that ticket. The
47
+<b>tkt_mtime</b> field of TICKETCHNG shows the timestamp on the ticket
48
+change artifact that the TICKETCHNG row refers to. The
49
+<b>tkt_ctime</b> field of TICKET is the time of the oldest ticket ch+16:26:29 | 2012-11-27]) icket, thus holding the time that the ticket was
50
+created.
51
+
52
+The <b>tkt_rid</b> field of TICKETCHNG is the integer primary key in the
53
+BLOB table of the ticket change artifact that gave rise to the row in the
54
+TICKETCHNG table.
55
+
56
+All the other fields of the TICKET and TICKETCHNG tables are available
57
+for customization for individual projects. None of the remaining fields
58
+are required, but all of them are needed in order to use the default
59
+ticket creating, viewing, and editing scripts. It is recommended that
60
+the other fields be retained andhat customizations be restricted to
61
+adding new fields above and beyond the default.
62
+
63
+< s To Tables</h3>
64
+
65
+Each row in the TICKETCHNG table corresponds to a single ticket change
66
+artifact. The tkt_id field is the integer primary key of the TICKET
67
+table entry for the corresponding ticket. The tkt_rid field is the
68
+integer primary key for the BLOB table entry that contains the low-level
69
+artifact text. The tkt_mtime fieldstamp order.
--- a/www/tickets.wiki
+++ b/www/tickets.wiki
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/tickets.wiki
+++ b/www/tickets.wiki
@@ -0,0 +1,69 @@
1 <title>The Fossil <title>The Fossil Ticket System</title>
2
3 <h2>1.0 File Format</h2>
4
5 At its lowest level, the tickets of Fossil consist solely of
6 [./fileformi REFERENCES ticket,
7 tkt_rid INTEGER REFERENCES blob,
8 tkt_mtime DATE,
9 -- Add as many fields as required below this line
10 login TEXT,
11 username TEXT,
12 mimetype TEXT,
13 icomment TEXT
14 );
15 CREATE INDEX ticketchng_idx1 ON ticketchng(tkt_id, tkt_mtime);
16 </verbatim>
17
18 Generally speaking, there is one row in the TICKETCHNG table for each
19 change to each ticket. In other words, there i
20 <b>tkt_c
21 Generally speaking, therow in the
22 TICKETCHNG table for each low-level ticket change artifact. The
23 TICKET table, on the other hand, contains a summary of the current
24 status of each ticket.
25
26 Fields of the TICKET and TICKETCHNG tables that begin with "tkt_" are
27 used internally by Fossil. The logic inside of Fossil that converts
28 ticket change artifacts into row data for the two ticket tables expects
29 the "tkt_" fields to always be present. All of the other fields of the
30 TICKET and TICKETCHNG tables are "user defined" in the sense that they
31 can be anything the administrator of the system wants them to be. The
32 user-defined fields should correspond to keys in the key/value pairs of
33 the ticket change artifacts.
34
35 The <b>tkt_id</b> fields of TICKET and TICKETCHNG are an integer key
36 used to uniquely identify the ticket to which the row belongs. These
37 keys are for internal use only and may change when doing a "fossil rebuild".
38
39 The <b>tkt_uuid</b> field is the unique hexadecimal identifier for the ticket.
40 Ticket identifiersy the hash of any identifjst et, Fossil uses
41 a (high-quality) pseudo-random number generator to create the ticket
42 number. The ticket numbers are large so that the chance of collision
43 between any two tickets is vanishingly small.
44
45 The <b>tkt_mtime</b> field of TICKET shows the time (as a Julian day number)
46 of the most recent ticket change artifact for that ticket. The
47 <b>tkt_mtime</b> field of TICKETCHNG shows the timestamp on the ticket
48 change artifact that the TICKETCHNG row refers to. The
49 <b>tkt_ctime</b> field of TICKET is the time of the oldest ticket ch+16:26:29 | 2012-11-27]) icket, thus holding the time that the ticket was
50 created.
51
52 The <b>tkt_rid</b> field of TICKETCHNG is the integer primary key in the
53 BLOB table of the ticket change artifact that gave rise to the row in the
54 TICKETCHNG table.
55
56 All the other fields of the TICKET and TICKETCHNG tables are available
57 for customization for individual projects. None of the remaining fields
58 are required, but all of them are needed in order to use the default
59 ticket creating, viewing, and editing scripts. It is recommended that
60 the other fields be retained andhat customizations be restricted to
61 adding new fields above and beyond the default.
62
63 < s To Tables</h3>
64
65 Each row in the TICKETCHNG table corresponds to a single ticket change
66 artifact. The tkt_id field is the integer primary key of the TICKET
67 table entry for the corresponding ticket. The tkt_rid field is the
68 integer primary key for the BLOB table entry that contains the low-level
69 artifact text. The tkt_mtime fieldstamp order.

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button