Fossil

Check-in [f01ec9db8b]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updates to the file format documentation.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f01ec9db8b9f45eded2ca10acb2888a4834a90bd
User & Date: drh 2010-02-24 04:11:26.000
Context
2010-02-24
22:39
Back out the changes of [0e2281fc8a757] since they were causing a segfault while trying to enter a new ticket. The ticket [6b498a792c0] should still be fixed. check-in: 5a6634c453 user: drh tags: trunk
04:11
Updates to the file format documentation. check-in: f01ec9db8b user: drh tags: trunk
2010-02-23
21:30
Improved graph layout algorithm attempts to keep merge arrows in between their source and destination. check-in: 0f27a59808 user: drh tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to www/fileformat.wiki.

1
2
3
4
5
6
7

<h1 align="center">
Fossil File Formats
</h1>

<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,
>







1
2
3
4
5
6
7
8
<title>Fossil File Formats</title>
<h1 align="center">
Fossil File Formats
</h1>

<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,
214
215
216
217
218
219
220



221
222
223
224
225
226
227
to the Z-card is a 32-character lowercase hexadecimal MD5 hash
of all prior lines of the manifest up to and including the newline 
character that immediately precedes the "Z".  The Z-card is just
a sanity check to prove that the manifest is well-formed and
consistent.
</p>




<h2>2.0 Clusters</h2>

<p>
A cluster is a artifact that declares the existence of other artifacts.
Clusters are used during repository synchronization to help 
reduce network traffic.  As such, clusters are an optimization and
may be removed from a repository without loss or damage to the







>
>
>







215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
to the Z-card is a 32-character lowercase hexadecimal MD5 hash
of all prior lines of the manifest up to and including the newline 
character that immediately precedes the "Z".  The Z-card is just
a sanity check to prove that the manifest is well-formed and
consistent.
</p>

<p>A sample manifest from Fossil itself can be seen
[/artifact/28987096ac | here].

<h2>2.0 Clusters</h2>

<p>
A cluster is a artifact that declares the existence of other artifacts.
Clusters are used during repository synchronization to help 
reduce network traffic.  As such, clusters are an optimization and
may be removed from a repository without loss or damage to the
259
260
261
262
263
264
265



266
267
268
269
270
271
272
line.  Each M card has a single argument which is the artifact ID of 
another artifact in the repository.  The Z card work exactly like
the Z card of a manifest.  The argument to the Z card is the
lower-case hexadecimal representation of the MD5 checksum of all
prior cards in the cluster.  Note that the Z card is required
on a cluster.
</p>





<h2>3.0 Control Artifacts</h2>

<p>
Control artifacts are used to assign properties to other artifacts
within the repository.  The basic format of a control artifact is







>
>
>







263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
line.  Each M card has a single argument which is the artifact ID of 
another artifact in the repository.  The Z card work exactly like
the Z card of a manifest.  The argument to the Z card is the
lower-case hexadecimal representation of the MD5 checksum of all
prior cards in the cluster.  Note that the Z card is required
on a cluster.
</p>

<p>An example cluster from Fossil can be seen
[/artifact/d03dbdd73a2a8 | here].</p>


<h2>3.0 Control Artifacts</h2>

<p>
Control artifacts are used to assign properties to other artifacts
within the repository.  The basic format of a control artifact is