Differences From:
File
www/fileformat.wiki
part of check-in
[e8c4f69c50]
- Change all mentions of "UUID" in the documentation and help screens into
either "artifact ID" or "baseline ID" or "ticket ID" as appropriate. "UUID"
has a widely recognized meaning that is different from its meaning in
fossil. "UUID" is still used in code comments and in variable names.
by
drh on
2008-10-24 13:27:53.
[view]
To:
File
www/fileformat.wiki
part of check-in
[efb759a07d]
- Change the default subsystem list for tickets to an empty set.
Update documentation to begin making a clearer distinction between
local state and global state.
by
drh on
2008-10-26 02:16:51.
[view]
@@ -1,21 +1,36 @@
<h1 align="center">
Fossil File Formats
</h1>
-<p>The state of a fossil repository is kept simple so that it can
+<p>The global state of a fossil repository is kept simple so that it can
endure in useful form for decades or centuries.
A fossil repository is intended to be readable,
searchable, and extensible by people not yet born.</p>
<p>
-The global state of a fossil repository is determined by an unordered
+The global state of a fossil repository is an unordered
set of <i>artifacts</i>.
An artifact might be a source code file, the text of a wiki page,
part of a trouble ticket, or one of several special control artifacts
used to show the relationships between other artifacts within the
project. Each artifact is normally represented on disk as a separate
file. Artifacts can be text or binary.
+</p>
+
+<p>
+In addition to the global state,
+each fossil repository also contains local state.
+The local state consists of web-page formatting
+preferences, authorized users, ticket display and reporting formats,
+and so forth. The global state is shared in common among all
+repositories for the same project, whereas the local state is often
+different in separate repositories.
+The local state is not versioned and is not synchronized
+with the global state.
+The local state is not composed of artifacts and is not intended to be enduring.
+This document is concerned with global state only. Local state is only
+mentioned here in order to distinguish it from global state.
</p>
<p>
Each artifact in the repository is named by its SHA1 hash.
@@ -332,9 +347,9 @@
The following cards are allowed on a ticket change artifact:</p>
<blockquote>
<b>D</b> <i>time-and-date-stamp</i><br />
-<b>J</b> ?<b>+</b>?<i>name value</i><br />
+<b>J</b> ?<b>+</b>?<i>name</i> ?<i>value</i>?<br />
<b>K</b> <i>ticket-id</i><br />
<b>U</b> <i>user-name</i><br />
<b>Z</b> <i>checksum</i>
</blockquote>
@@ -351,13 +366,17 @@
more changes. The first "change" to a ticket is what brings the
ticket into existance.</p>
<p>
-J cards specify changes to "fields" of the ticket. Each fossil
-server has a ticket configuration which specifies the fields its
-understands. This is not a limit on the fields that can appear
-on the J cards, however. If a J card specifies a field that a
-particular fossil server does not recognize, then that J card
+J cards specify changes to the "value" of "fields" in the ticket.
+If the <i>value</i> parameter of the J card is omitted, then the
+field is set to an empty string.
+Each fossil server has a ticket configuration which specifies the fields its
+understands. The ticket configuration is part of the local state for
+the repository and thus can vary from one repository to another.
+Hencd a J card might specify a <i>field</i> that do not exist in the
+local ticket configuration. If a J card specifies a <i>field</i> that
+is not in the local configuration, then that J card
is simply ignored.</p>
<p>
The first argument of the J card is the field name. The second