Artifact d48039839878b9c4a4be9ebf1b16b45fe2db5793:
File
www/fileformat.html
part of check-in
[f9f7cf5684]
- The autosync setting understands values like "on", "off", "true", and "false"
in addition to 0 and 1. Updates to the documentation.
by
drh on
2007-11-24 02:45:39.
0000: 3c 68 74 6d 6c 3e 0a 3c 68 65 61 64 3e 0a 3c 74 <html>.<head>.<t
0010: 69 74 6c 65 3e 46 6f 73 73 69 6c 20 46 69 6c 65 itle>Fossil File
0020: 20 46 6f 72 6d 61 74 3c 2f 74 69 74 6c 65 3e 0a Format</title>.
0030: 3c 2f 68 65 61 64 3e 0a 3c 62 6f 64 79 20 62 67 </head>.<body bg
0040: 63 6f 6c 6f 72 3d 22 77 68 69 74 65 22 3e 0a 3c color="white">.<
0050: 70 3e 5b 20 3c 61 20 68 72 65 66 3d 22 69 6e 64 p>[ <a href="ind
0060: 65 78 2e 68 74 6d 6c 22 3e 49 6e 64 65 78 3c 2f ex.html">Index</
0070: 61 3e 20 5d 3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 68 a> ]</p>.<hr>.<h
0080: 31 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 1 align="center"
0090: 3e 0a 46 6f 73 73 69 6c 20 46 69 6c 65 20 46 6f >.Fossil File Fo
00a0: 72 6d 61 74 73 0a 3c 2f 68 31 3e 0a 0a 3c 70 3e rmats.</h1>..<p>
00b0: 0a 54 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 .The global stat
00c0: 65 20 6f 66 20 61 20 66 6f 73 73 69 6c 20 72 65 e of a fossil re
00d0: 70 6f 73 69 74 6f 72 79 20 69 73 20 64 65 74 65 pository is dete
00e0: 72 6d 69 6e 65 64 20 62 79 20 61 6e 20 75 6e 6f rmined by an uno
00f0: 72 64 65 72 65 64 0a 73 65 74 20 6f 66 20 66 69 rdered.set of fi
0100: 6c 65 73 2e 20 20 41 20 66 69 6c 65 20 69 6e 20 les. A file in
0110: 66 6f 73 73 69 6c 20 69 73 20 63 61 6c 6c 65 64 fossil is called
0120: 20 61 6e 20 22 61 72 74 69 66 61 63 74 22 2e 0a an "artifact"..
0130: 41 6e 20 61 72 74 69 66 61 63 74 20 6d 69 67 68 An artifact migh
0140: 74 20 62 65 20 61 20 73 6f 75 72 63 65 20 63 6f t be a source co
0150: 64 65 20 66 69 6c 65 2c 20 74 68 65 20 74 65 78 de file, the tex
0160: 74 20 6f 66 20 61 20 77 69 6b 69 20 70 61 67 65 t of a wiki page
0170: 2c 0a 70 61 72 74 20 6f 66 20 61 20 74 72 6f 75 ,.part of a trou
0180: 62 6c 65 20 74 69 63 6b 65 74 2c 20 6f 72 20 6f ble ticket, or o
0190: 6e 65 20 6f 66 20 73 65 76 65 72 61 6c 20 73 70 ne of several sp
01a0: 65 63 69 61 6c 20 63 6f 6e 74 72 6f 6c 20 61 72 ecial control ar
01b0: 74 69 66 61 63 74 73 0a 75 73 65 64 20 74 6f 20 tifacts.used to
01c0: 73 68 6f 77 20 74 68 65 20 72 65 6c 61 74 69 6f show the relatio
01d0: 6e 73 68 69 70 73 20 62 65 74 77 65 65 6e 20 6f nships between o
01e0: 74 68 65 72 20 61 72 74 69 66 61 63 74 73 20 77 ther artifacts w
01f0: 69 74 68 69 6e 20 74 68 65 0a 70 72 6f 6a 65 63 ithin the.projec
0200: 74 2e 20 20 41 72 74 69 66 61 63 74 73 20 63 61 t. Artifacts ca
0210: 6e 20 62 65 20 74 65 78 74 20 6f 72 20 62 69 6e n be text or bin
0220: 61 72 79 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 45 ary..</p>..<p>.E
0230: 61 63 68 20 61 72 74 69 66 61 63 74 20 69 6e 20 ach artifact in
0240: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69 the repository i
0250: 73 20 6e 61 6d 65 64 20 62 79 20 69 74 73 20 53 s named by its S
0260: 48 41 31 20 68 61 73 68 2e 0a 4e 6f 20 70 72 65 HA1 hash..No pre
0270: 66 69 78 65 73 20 6f 72 20 6d 65 74 61 20 69 6e fixes or meta in
0280: 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 61 64 64 formation is add
0290: 65 64 20 74 6f 20 61 20 61 72 74 69 66 61 63 74 ed to a artifact
02a0: 20 62 65 66 6f 72 65 0a 69 74 73 20 68 61 73 68 before.its hash
02b0: 20 69 73 20 63 6f 6d 70 75 74 65 64 2e 20 20 54 is computed. T
02c0: 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 61 72 74 he name of a art
02d0: 69 66 61 63 74 20 69 6e 20 74 68 65 20 72 65 70 ifact in the rep
02e0: 6f 73 69 74 6f 72 79 0a 69 73 20 65 78 61 63 74 ository.is exact
02f0: 6c 79 20 74 68 65 20 73 61 6d 65 20 53 48 41 31 ly the same SHA1
0300: 20 68 61 73 68 20 74 68 61 74 20 69 73 20 63 6f hash that is co
0310: 6d 70 75 74 65 64 20 62 79 20 73 68 61 31 73 75 mputed by sha1su
0320: 6d 20 0a 6f 6e 20 74 68 65 20 66 69 6c 65 20 61 m .on the file a
0330: 73 20 69 74 20 65 78 69 73 74 73 20 69 6e 20 79 s it exists in y
0340: 6f 75 72 20 73 6f 75 72 63 65 20 74 72 65 65 2e our source tree.
0350: 3c 2f 70 3e 0a 0a 3c 70 3e 0a 53 6f 6d 65 20 61 </p>..<p>.Some a
0360: 72 74 69 66 61 63 74 73 20 68 61 76 65 20 61 20 rtifacts have a
0370: 70 61 72 74 69 63 75 6c 61 72 20 66 6f 72 6d 61 particular forma
0380: 74 20 77 68 69 63 68 20 71 75 61 6c 69 66 69 65 t which qualifie
0390: 73 20 74 68 65 6d 0a 61 73 20 22 6d 61 6e 69 66 s them.as "manif
03a0: 65 73 74 73 22 2e 20 20 41 20 6d 61 6e 69 66 65 ests". A manife
03b0: 73 74 20 61 73 73 69 67 6e 73 20 66 69 6c 65 6e st assigns filen
03c0: 61 6d 65 73 20 74 6f 20 61 20 73 75 62 73 65 74 ames to a subset
03d0: 0a 6f 66 20 74 68 65 20 61 72 74 69 66 61 63 74 .of the artifact
03e0: 73 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74 s in the reposit
03f0: 6f 72 79 2c 20 69 6e 20 6f 72 64 65 72 20 74 6f ory, in order to
0400: 20 70 72 6f 76 69 64 65 20 61 0a 73 6e 61 70 73 provide a.snaps
0410: 68 6f 74 20 6f 66 20 74 68 65 20 73 74 61 74 65 hot of the state
0420: 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 74 20 of the project
0430: 61 74 20 61 20 70 6f 69 6e 74 20 69 6e 20 74 69 at a point in ti
0440: 6d 65 2e 0a 45 61 63 68 20 6d 61 6e 69 66 65 73 me..Each manifes
0450: 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f t corresponds to
0460: 20 61 20 76 65 72 73 69 6f 6e 20 6f 72 20 62 61 a version or ba
0470: 73 65 6c 69 6e 65 0a 6f 66 20 74 68 65 20 70 72 seline.of the pr
0480: 6f 6a 65 63 74 2e 0a 3c 2f 70 3e 0a 0a 3c 68 32 oject..</p>..<h2
0490: 3e 31 2e 30 20 54 68 65 20 4d 61 6e 69 66 65 73 >1.0 The Manifes
04a0: 74 3c 2f 68 32 3e 0a 0a 3c 70 3e 0a 41 6e 79 20 t</h2>..<p>.Any
04b0: 61 72 74 69 66 61 63 74 20 69 6e 20 74 68 65 20 artifact in the
04c0: 72 65 70 6f 73 69 74 6f 72 79 20 74 68 61 74 20 repository that
04d0: 66 6f 6c 6c 6f 77 73 20 74 68 65 20 73 79 6e 74 follows the synt
04e0: 61 63 74 69 63 20 72 75 6c 65 73 0a 6f 66 20 61 actic rules.of a
04f0: 20 6d 61 6e 69 66 65 73 74 20 69 73 20 61 20 6d manifest is a m
0500: 61 6e 69 66 65 73 74 2e 20 20 4e 6f 74 65 20 74 anifest. Note t
0510: 68 61 74 20 61 20 6d 61 6e 69 66 65 73 74 20 63 hat a manifest c
0520: 61 6e 0a 62 65 20 62 6f 74 68 20 61 20 72 65 61 an.be both a rea
0530: 6c 20 6d 61 6e 69 66 65 73 74 20 61 6e 64 20 61 l manifest and a
0540: 6c 73 6f 20 61 20 63 6f 6e 74 65 6e 74 20 66 69 lso a content fi
0550: 6c 65 2c 20 74 68 6f 75 67 68 20 74 68 69 73 0a le, though this.
0560: 69 73 20 72 61 72 65 2e 0a 3c 2f 70 3e 0a 0a 3c is rare..</p>..<
0570: 70 3e 0a 41 20 6d 61 6e 69 66 65 73 74 20 69 73 p>.A manifest is
0580: 20 61 20 6c 69 6e 65 2d 6f 72 69 65 6e 74 65 64 a line-oriented
0590: 20 74 65 78 74 20 66 69 6c 65 2e 20 20 4e 65 77 text file. New
05a0: 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 73 0a line characters.
05b0: 28 41 53 43 49 49 20 30 78 30 61 29 20 73 65 70 (ASCII 0x0a) sep
05c0: 61 72 61 74 65 20 6c 69 6e 65 73 2e 20 20 45 61 arate lines. Ea
05d0: 63 68 20 6c 69 6e 65 20 69 73 20 63 61 6c 6c 65 ch line is calle
05e0: 64 20 61 20 22 63 61 72 64 22 2e 0a 45 61 63 68 d a "card"..Each
05f0: 20 63 61 72 64 20 62 65 67 69 6e 73 20 77 69 74 card begins wit
0600: 68 20 61 20 73 69 6e 67 6c 65 0a 63 68 61 72 61 h a single.chara
0610: 63 74 65 72 20 22 63 61 72 64 20 74 79 70 65 22 cter "card type"
0620: 2e 20 20 5a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 . Zero or more
0630: 61 72 67 75 6d 65 6e 74 73 20 6d 61 79 20 66 6f arguments may fo
0640: 6c 6c 6f 77 0a 74 68 65 20 63 61 72 64 20 74 79 llow.the card ty
0650: 70 65 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e pe. All argumen
0660: 74 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64 ts are separated
0670: 20 66 72 6f 6d 20 65 61 63 68 20 6f 74 68 65 72 from each other
0680: 0a 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63 61 .and from the ca
0690: 72 64 2d 74 79 70 65 20 63 68 61 72 61 63 74 65 rd-type characte
06a0: 72 20 62 79 20 61 20 73 69 6e 67 6c 65 20 73 70 r by a single sp
06b0: 61 63 65 0a 63 68 61 72 61 63 74 65 72 2e 20 20 ace.character.
06c0: 54 68 65 72 65 20 69 73 20 6e 6f 20 73 75 72 70 There is no surp
06d0: 6c 75 73 20 77 68 69 74 65 20 73 70 61 63 65 20 lus white space
06e0: 62 65 74 77 65 65 6e 20 61 72 67 75 6d 65 6e 74 between argument
06f0: 73 0a 61 6e 64 20 6e 6f 20 6c 65 61 64 69 6e 67 s.and no leading
0700: 20 6f 72 20 74 72 61 69 6c 69 6e 67 20 77 68 69 or trailing whi
0710: 74 65 73 70 61 63 65 20 65 78 63 65 70 74 20 66 tespace except f
0720: 6f 72 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a or the newline .
0730: 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 61 character that a
0740: 63 74 73 20 61 73 20 74 68 65 20 63 61 72 64 20 cts as the card
0750: 73 65 70 61 72 61 74 6f 72 2e 0a 3c 2f 70 3e 0a separator..</p>.
0760: 0a 3c 70 3e 0a 41 6c 6c 20 63 61 72 64 73 20 6f .<p>.All cards o
0770: 66 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 6f f the manifest o
0780: 63 63 75 72 20 69 6e 20 73 74 72 69 63 74 20 73 ccur in strict s
0790: 6f 72 74 65 64 20 6c 65 78 69 63 6f 67 72 61 70 orted lexicograp
07a0: 68 69 63 61 6c 20 6f 72 64 65 72 2e 0a 4e 6f 20 hical order..No
07b0: 63 61 72 64 20 6d 61 79 20 62 65 20 64 75 70 6c card may be dupl
07c0: 69 63 61 74 65 64 2e 0a 54 68 65 20 65 6e 74 69 icated..The enti
07d0: 72 65 20 6d 61 6e 69 66 65 73 74 20 6d 61 79 20 re manifest may
07e0: 62 65 20 50 47 50 20 63 6c 65 61 72 2d 73 69 67 be PGP clear-sig
07f0: 6e 65 64 2c 20 62 75 74 20 6f 74 68 65 72 77 69 ned, but otherwi
0800: 73 65 20 69 74 0a 6d 61 79 20 63 6f 6e 74 61 69 se it.may contai
0810: 6e 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 n no additional
0820: 74 65 78 74 20 6f 72 20 64 61 74 61 20 62 65 79 text or data bey
0830: 6f 6e 64 20 77 68 61 74 20 69 73 20 64 65 73 63 ond what is desc
0840: 72 69 62 65 64 20 68 65 72 65 2e 0a 3c 2f 70 3e ribed here..</p>
0850: 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 ..<p>.Allowed ca
0860: 72 64 73 20 69 6e 20 74 68 65 20 6d 61 6e 69 66 rds in the manif
0870: 65 73 74 20 61 72 65 20 61 73 20 66 6f 6c 6c 6f est are as follo
0880: 77 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b ws:.</p>..<block
0890: 71 75 6f 74 65 3e 0a 3c 62 3e 43 3c 2f 62 3e 20 quote>.<b>C</b>
08a0: 3c 69 3e 63 68 65 63 6b 69 6e 2d 63 6f 6d 6d 65 <i>checkin-comme
08b0: 6e 74 3c 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 44 3c nt</i><br>.<b>D<
08c0: 2f 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d /b> <i>time-and-
08d0: 64 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 date-stamp</i><b
08e0: 72 3e 0a 3c 62 3e 46 3c 2f 62 3e 20 3c 69 3e 66 r>.<b>F</b> <i>f
08f0: 69 6c 65 6e 61 6d 65 3c 2f 69 3e 20 3c 69 3e 53 ilename</i> <i>S
0900: 48 41 31 2d 68 61 73 68 3c 2f 69 3e 3c 62 72 3e HA1-hash</i><br>
0910: 0a 3c 62 3e 50 3c 2f 62 3e 20 3c 69 3e 53 48 41 .<b>P</b> <i>SHA
0920: 31 2d 68 61 73 68 3c 2f 69 3e 2b 3c 62 72 3e 0a 1-hash</i>+<br>.
0930: 3c 62 3e 52 3c 2f 62 3e 20 3c 69 3e 72 65 70 6f <b>R</b> <i>repo
0940: 73 69 74 6f 72 79 2d 63 68 65 63 6b 73 75 6d 3c sitory-checksum<
0950: 2f 69 3e 3c 62 72 3e 0a 3c 62 3e 55 3c 2f 62 3e /i><br>.<b>U</b>
0960: 20 3c 69 3e 75 73 65 72 2d 6c 6f 67 69 6e 3c 2f <i>user-login</
0970: 69 3e 3c 62 72 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 i><br>.<b>Z</b>
0980: 3c 69 3e 6d 61 6e 69 66 65 73 74 2d 63 68 65 63 <i>manifest-chec
0990: 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b ksum</i>.</block
09a0: 71 75 6f 74 65 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 quote>..<p>.A ma
09b0: 6e 69 66 65 73 74 20 6d 75 73 74 20 68 61 76 65 nifest must have
09c0: 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 43 2d 63 exactly one C-c
09d0: 61 72 64 2e 20 20 54 68 65 20 73 6f 6c 65 20 61 ard. The sole a
09e0: 72 67 75 6d 65 6e 74 20 74 6f 0a 74 68 65 20 43 rgument to.the C
09f0: 2d 63 61 72 64 20 69 73 20 61 20 63 68 65 63 6b -card is a check
0a00: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 74 68 61 74 -in comment that
0a10: 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 63 describes the c
0a20: 68 65 63 6b 2d 69 6e 20 74 68 61 74 0a 74 68 65 heck-in that.the
0a30: 20 6d 61 6e 69 66 65 73 74 20 64 65 66 69 6e 65 manifest define
0a40: 73 2e 20 20 54 68 65 20 63 68 65 63 6b 2d 69 6e s. The check-in
0a50: 20 63 6f 6d 6d 65 6e 74 20 69 73 20 74 65 78 74 comment is text
0a60: 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 . The following
0a70: 0a 65 73 63 61 70 65 20 73 65 71 75 65 6e 63 65 .escape sequence
0a80: 73 20 61 72 65 20 61 70 70 6c 69 65 64 20 74 6f s are applied to
0a90: 20 74 68 65 20 74 65 78 74 3a 0a 41 20 73 70 61 the text:.A spa
0aa0: 63 65 20 28 41 53 43 49 49 20 30 78 32 30 29 20 ce (ASCII 0x20)
0ab0: 69 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 61 is represented a
0ac0: 73 20 22 5c 73 22 20 28 41 53 43 49 49 20 30 78 s "\s" (ASCII 0x
0ad0: 35 43 2c 20 30 78 37 33 29 2e 20 20 41 0a 6e 65 5C, 0x73). A.ne
0ae0: 77 6c 69 6e 65 20 28 41 53 43 49 49 20 30 78 30 wline (ASCII 0x0
0af0: 61 29 20 69 73 20 22 5c 6e 22 20 28 41 53 43 49 a) is "\n" (ASCI
0b00: 49 20 30 78 36 43 2c 20 78 36 45 29 2e 20 20 41 I 0x6C, x6E). A
0b10: 20 62 61 63 6b 73 6c 61 73 68 20 0a 28 41 53 43 backslash .(ASC
0b20: 49 49 20 30 78 35 43 29 20 69 73 20 72 65 70 72 II 0x5C) is repr
0b30: 65 73 65 6e 74 65 64 20 61 73 20 74 77 6f 20 62 esented as two b
0b40: 61 63 6b 73 6c 61 73 68 65 73 20 22 5c 5c 22 2e ackslashes "\\".
0b50: 20 20 41 70 61 72 74 20 66 72 6f 6d 0a 73 70 61 Apart from.spa
0b60: 63 65 20 61 6e 64 20 6e 65 77 6c 69 6e 65 2c 20 ce and newline,
0b70: 6e 6f 20 6f 74 68 65 72 20 77 68 69 74 65 73 70 no other whitesp
0b80: 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20 61 ace characters a
0b90: 72 65 20 61 6c 6c 6f 77 65 64 20 69 6e 0a 74 68 re allowed in.th
0ba0: 65 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 e check-in comme
0bb0: 6e 74 2e 20 20 4e 6f 72 20 61 72 65 20 61 6e 79 nt. Nor are any
0bc0: 20 75 6e 70 72 69 6e 74 61 62 6c 65 20 63 68 61 unprintable cha
0bd0: 72 61 63 74 65 72 73 20 61 6c 6c 6f 77 65 64 0a racters allowed.
0be0: 69 6e 20 74 68 65 20 63 6f 6d 6d 65 6e 74 2e 0a in the comment..
0bf0: 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 </p>..<p>.A mani
0c00: 66 65 73 74 20 6d 75 73 74 20 68 61 76 65 20 65 fest must have e
0c10: 78 61 63 74 6c 79 20 6f 6e 65 20 44 2d 63 61 72 xactly one D-car
0c20: 64 2e 20 20 54 68 65 20 73 6f 6c 65 20 61 72 67 d. The sole arg
0c30: 75 6d 65 6e 74 20 74 6f 0a 74 68 65 20 44 2d 63 ument to.the D-c
0c40: 61 72 64 20 69 73 20 61 20 64 61 74 65 2d 74 69 ard is a date-ti
0c50: 6d 65 20 73 74 61 6d 70 20 69 6e 20 74 68 65 20 me stamp in the
0c60: 49 53 4f 38 36 30 31 20 66 6f 72 6d 61 74 2e 20 ISO8601 format.
0c70: 20 54 68 65 0a 64 61 74 65 20 61 6e 64 20 74 69 The.date and ti
0c80: 6d 65 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 me should be in
0c90: 63 6f 6f 72 64 69 6e 61 74 65 64 20 75 6e 69 76 coordinated univ
0ca0: 65 72 73 61 6c 20 74 69 6d 65 20 28 55 54 43 29 ersal time (UTC)
0cb0: 2e 0a 54 68 65 20 66 6f 72 6d 61 74 20 69 73 3a ..The format is:
0cc0: 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f .</p>..<blockquo
0cd0: 74 65 3e 0a 3c 69 3e 59 59 59 59 3c 2f 69 3e 3c te>.<i>YYYY</i><
0ce0: 62 3e 2d 3c 2f 62 3e 3c 69 3e 4d 4d 3c 2f 69 3e b>-</b><i>MM</i>
0cf0: 3c 62 3e 2d 3c 2f 62 3e 3c 69 3e 44 44 3c 2f 69 <b>-</b><i>DD</i
0d00: 3e 3c 62 3e 54 3c 2f 62 3e 3c 69 3e 48 48 3c 2f ><b>T</b><i>HH</
0d10: 69 3e 3c 62 3e 3a 3c 2f 62 3e 3c 69 3e 4d 4d 3c i><b>:</b><i>MM<
0d20: 2f 69 3e 3c 62 3e 3a 3c 2f 62 3e 3c 69 3e 53 53 /i><b>:</b><i>SS
0d30: 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 </i>.</blockquot
0d40: 65 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 65 e>..<p>.A manife
0d50: 73 74 20 68 61 73 20 7a 65 72 6f 20 6f 72 20 6d st has zero or m
0d60: 6f 72 65 20 46 2d 63 61 72 64 73 2e 20 20 45 61 ore F-cards. Ea
0d70: 63 68 20 46 2d 63 61 72 64 20 64 65 66 69 6e 65 ch F-card define
0d80: 73 20 61 20 66 69 6c 65 0a 28 6f 74 68 65 72 20 s a file.(other
0d90: 74 68 61 6e 20 74 68 65 20 6d 61 6e 69 66 65 73 than the manifes
0da0: 74 20 69 74 73 65 6c 66 29 20 77 68 69 63 68 20 t itself) which
0db0: 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 62 is part of the b
0dc0: 61 73 65 6c 69 6e 65 20 74 68 61 74 0a 74 68 65 aseline that.the
0dd0: 20 6d 61 6e 69 66 65 73 74 20 64 65 66 69 6e 65 manifest define
0de0: 73 2e 20 20 54 68 65 72 65 20 61 72 65 20 74 77 s. There are tw
0df0: 6f 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 54 68 o arguments. Th
0e00: 65 20 66 69 72 73 74 20 61 72 67 6d 65 6e 74 0a e first argment.
0e10: 69 73 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 is the pathname
0e20: 6f 66 20 74 68 65 20 66 69 6c 65 20 69 6e 20 74 of the file in t
0e30: 68 65 20 62 61 73 65 6c 69 6e 65 20 72 65 6c 61 he baseline rela
0e40: 74 69 76 65 20 74 6f 20 74 68 65 20 72 6f 6f 74 tive to the root
0e50: 0a 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 74 20 .of the project
0e60: 66 69 6c 65 20 68 69 65 72 61 72 63 68 79 2e 20 file hierarchy.
0e70: 20 4e 6f 20 22 2e 2e 22 20 6f 72 20 22 2e 22 20 No ".." or "."
0e80: 64 69 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 directories are
0e90: 61 6c 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 74 allowed.within t
0ea0: 68 65 20 66 69 6c 65 6e 61 6d 65 2e 20 20 53 70 he filename. Sp
0eb0: 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20 61 ace characters a
0ec0: 72 65 20 65 73 63 61 70 65 64 20 61 73 20 69 6e re escaped as in
0ed0: 20 43 2d 63 61 72 64 0a 63 6f 6d 6d 65 6e 74 20 C-card.comment
0ee0: 74 65 78 74 2e 20 20 42 61 63 6b 73 6c 61 73 68 text. Backslash
0ef0: 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 characters and
0f00: 6e 65 77 6c 69 6e 65 73 20 61 72 65 20 6e 6f 74 newlines are not
0f10: 20 61 6c 6c 6f 77 65 64 0a 77 69 74 68 69 6e 20 allowed.within
0f20: 66 69 6c 65 6e 61 6d 65 73 2e 20 20 54 68 65 20 filenames. The
0f30: 64 69 72 65 63 74 6f 72 79 20 73 65 70 61 72 61 directory separa
0f40: 74 6f 72 20 63 68 61 72 61 63 74 65 72 20 69 73 tor character is
0f50: 20 61 20 66 6f 72 77 61 72 64 0a 73 6c 61 73 68 a forward.slash
0f60: 20 28 41 53 43 49 49 20 30 78 32 46 29 2e 20 20 (ASCII 0x2F).
0f70: 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d The second argum
0f80: 65 6e 74 20 74 6f 20 74 68 65 20 46 2d 63 61 72 ent to the F-car
0f90: 64 20 69 73 20 74 68 65 0a 66 75 6c 6c 20 34 30 d is the.full 40
0fa0: 2d 63 68 61 72 61 63 74 65 72 20 6c 6f 77 65 72 -character lower
0fb0: 2d 63 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 -case hexadecima
0fc0: 6c 20 53 48 41 31 20 68 61 73 68 20 6f 66 20 74 l SHA1 hash of t
0fd0: 68 65 20 63 6f 6e 74 65 6e 74 0a 61 72 74 69 66 he content.artif
0fe0: 61 63 74 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 act..</p>..<p>.A
0ff0: 20 6d 61 6e 69 66 65 73 74 20 68 61 73 20 7a 65 manifest has ze
1000: 72 6f 20 6f 72 20 6f 6e 65 20 50 2d 63 61 72 64 ro or one P-card
1010: 73 2e 20 20 4d 6f 73 74 20 6d 61 6e 69 66 65 73 s. Most manifes
1020: 74 73 20 68 61 76 65 20 6f 6e 65 20 50 2d 63 61 ts have one P-ca
1030: 72 64 2e 0a 54 68 65 20 50 2d 63 61 72 64 20 68 rd..The P-card h
1040: 61 73 20 61 20 76 61 72 79 69 6e 67 20 6e 75 6d as a varying num
1050: 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 ber of arguments
1060: 20 74 68 61 74 0a 64 65 66 69 6e 65 73 20 6f 74 that.defines ot
1070: 68 65 72 20 6d 61 6e 69 66 65 73 74 73 20 66 72 her manifests fr
1080: 6f 6d 20 77 68 69 63 68 20 74 68 65 20 63 75 72 om which the cur
1090: 72 65 6e 74 20 6d 61 6e 69 66 65 73 74 0a 69 73 rent manifest.is
10a0: 20 64 65 72 69 76 65 64 2e 20 20 45 61 63 68 20 derived. Each
10b0: 61 72 67 75 6d 65 6e 74 20 69 73 20 61 6e 20 34 argument is an 4
10c0: 30 2d 63 68 61 72 61 63 74 65 72 20 6c 6f 77 65 0-character lowe
10d0: 72 63 61 73 65 20 0a 68 65 78 61 64 65 63 69 6d rcase .hexadecim
10e0: 61 6c 20 53 48 41 31 20 6f 66 20 74 68 65 20 70 al SHA1 of the p
10f0: 72 65 64 65 63 65 73 73 6f 72 20 6d 61 6e 69 66 redecessor manif
1100: 65 73 74 2e 20 20 41 6c 6c 20 61 72 67 75 6d 65 est. All argume
1110: 6e 74 73 0a 74 6f 20 74 68 65 20 50 2d 63 61 72 nts.to the P-car
1120: 64 20 6d 75 73 74 20 62 65 20 75 6e 69 71 75 65 d must be unique
1130: 20 74 6f 20 74 68 61 74 20 6c 69 6e 65 2e 0a 54 to that line..T
1140: 68 65 20 66 69 72 73 74 20 70 72 65 64 65 63 65 he first predece
1150: 73 73 6f 72 20 69 73 20 74 68 65 20 64 69 72 65 ssor is the dire
1160: 63 74 20 61 6e 63 65 73 74 6f 72 20 6f 66 20 74 ct ancestor of t
1170: 68 65 20 6d 61 6e 69 66 65 73 74 2e 0a 4f 74 68 he manifest..Oth
1180: 65 72 20 61 72 67 75 6d 65 6e 74 73 20 64 65 66 er arguments def
1190: 69 6e 65 20 6d 61 6e 69 66 65 73 74 73 20 77 69 ine manifests wi
11a0: 74 68 20 77 68 69 63 68 20 74 68 65 20 66 69 72 th which the fir
11b0: 73 74 20 77 61 73 0a 6d 65 72 67 65 64 20 74 6f st was.merged to
11c0: 20 79 69 65 6c 64 20 74 68 65 20 63 75 72 72 65 yield the curre
11d0: 6e 74 20 6d 61 6e 69 66 65 73 74 2e 20 20 4d 6f nt manifest. Mo
11e0: 73 74 20 6d 61 6e 69 66 65 73 74 73 20 68 61 76 st manifests hav
11f0: 65 0a 61 20 50 2d 63 61 72 64 20 77 69 74 68 20 e.a P-card with
1200: 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e a single argumen
1210: 74 2e 20 20 54 68 65 20 66 69 72 73 74 20 6d 61 t. The first ma
1220: 6e 69 66 65 73 74 20 69 6e 20 74 68 65 0a 70 72 nifest in the.pr
1230: 6f 6a 65 63 74 20 68 61 73 20 6e 6f 20 61 6e 63 oject has no anc
1240: 65 73 74 6f 72 73 20 61 6e 64 20 74 68 75 73 20 estors and thus
1250: 68 61 73 20 6e 6f 20 50 2d 63 61 72 64 2e 0a 3c has no P-card..<
1260: 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 6e 69 66 /p>..<p>.A manif
1270: 65 73 74 20 6d 61 79 20 6f 70 74 69 6f 6e 61 6c est may optional
1280: 6c 79 20 68 61 76 65 20 61 20 73 69 6e 67 6c 65 ly have a single
1290: 20 52 2d 63 61 72 64 2e 20 20 54 68 65 20 52 2d R-card. The R-
12a0: 63 61 72 64 20 68 61 73 0a 61 20 73 69 6e 67 6c card has.a singl
12b0: 65 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 e argument which
12c0: 20 69 73 20 74 68 65 20 4d 44 35 20 63 68 65 63 is the MD5 chec
12d0: 6b 73 75 6d 20 6f 66 20 61 6c 6c 20 66 69 6c 65 ksum of all file
12e0: 73 20 69 6e 20 0a 74 68 65 20 62 61 73 65 6c 69 s in .the baseli
12f0: 6e 65 20 65 78 63 65 70 74 20 74 68 65 20 6d 61 ne except the ma
1300: 6e 69 66 65 73 74 20 69 74 73 65 6c 66 2e 20 20 nifest itself.
1310: 54 68 65 20 63 68 65 63 6b 73 75 6d 20 69 73 20 The checksum is
1320: 65 78 70 72 65 73 73 65 64 0a 61 73 20 33 32 2d expressed.as 32-
1330: 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 6c 6f characters of lo
1340: 77 65 72 63 61 73 65 20 68 65 78 61 64 65 63 69 wercase hexadeci
1350: 6d 61 6c 2e 20 20 20 54 68 65 20 63 68 65 63 6b mal. The check
1360: 73 75 6d 20 69 73 0a 63 6f 6d 70 75 74 65 64 20 sum is.computed
1370: 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 20 46 6f 72 as follows: For
1380: 20 65 61 63 68 20 66 69 6c 65 20 69 6e 20 74 68 each file in th
1390: 65 20 62 61 73 65 6c 69 6e 65 20 28 65 78 63 65 e baseline (exce
13a0: 70 74 20 66 6f 72 0a 74 68 65 20 6d 61 6e 69 66 pt for.the manif
13b0: 65 73 74 20 69 74 73 65 6c 66 29 20 69 6e 20 73 est itself) in s
13c0: 74 72 69 63 74 20 73 6f 72 74 65 64 20 6c 65 78 trict sorted lex
13d0: 69 63 6f 67 72 61 70 68 69 63 61 6c 20 6f 72 64 icographical ord
13e0: 65 72 2c 20 0a 74 61 6b 65 20 74 68 65 20 70 61 er, .take the pa
13f0: 74 68 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 thname of the fi
1400: 6c 65 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 le relative to t
1410: 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 0a 72 he root of the.r
1420: 65 70 6f 73 69 74 6f 72 79 2c 20 61 70 70 65 6e epository, appen
1430: 64 20 61 20 73 69 6e 67 6c 65 20 73 70 61 63 65 d a single space
1440: 20 28 41 53 43 49 49 20 30 78 32 30 29 2c 20 74 (ASCII 0x20), t
1450: 68 65 0a 73 69 7a 65 20 6f 66 20 74 68 65 20 66 he.size of the f
1460: 69 6c 65 20 69 6e 20 41 53 43 49 49 20 64 65 63 ile in ASCII dec
1470: 69 6d 61 6c 2c 20 61 20 73 69 6e 67 6c 65 20 6e imal, a single n
1480: 65 77 6c 69 6e 65 0a 63 68 61 72 61 63 74 65 72 ewline.character
1490: 20 28 41 53 43 49 49 20 30 78 30 41 29 2c 20 61 (ASCII 0x0A), a
14a0: 6e 64 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 nd the complete
14b0: 74 65 78 74 20 6f 66 20 74 68 65 20 66 69 6c 65 text of the file
14c0: 2e 0a 43 6f 6d 70 75 74 65 20 74 68 65 20 4d 44 ..Compute the MD
14d0: 35 20 63 68 65 63 6b 73 75 6d 20 6f 66 20 74 68 5 checksum of th
14e0: 65 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 3c 2f e the result..</
14f0: 70 3e 0a 0a 3c 70 3e 0a 45 61 63 68 20 6d 61 6e p>..<p>.Each man
1500: 69 66 65 73 74 20 68 61 73 20 61 20 73 69 6e 67 ifest has a sing
1510: 6c 65 20 55 2d 63 61 72 64 2e 20 20 54 68 65 20 le U-card. The
1520: 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 argument to the
1530: 55 2d 63 61 72 64 20 69 73 0a 74 68 65 20 6c 6f U-card is.the lo
1540: 67 69 6e 20 6f 66 20 74 68 65 20 75 73 65 72 20 gin of the user
1550: 77 68 6f 20 63 72 65 61 74 65 64 20 74 68 65 20 who created the
1560: 6d 61 6e 69 66 65 73 74 2e 20 20 54 68 65 20 6c manifest. The l
1570: 6f 67 69 6e 20 6e 61 6d 65 0a 69 73 20 65 6e 63 ogin name.is enc
1580: 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 oded using the s
1590: 61 6d 65 20 63 68 61 72 61 63 74 65 72 20 65 73 ame character es
15a0: 63 61 70 65 73 20 61 73 20 69 73 20 75 73 65 64 capes as is used
15b0: 20 66 6f 72 20 74 68 65 0a 63 68 65 63 6b 2d 69 for the.check-i
15c0: 6e 20 63 6f 6d 6d 65 6e 74 20 61 72 67 75 6d 65 n comment argume
15d0: 6e 74 20 74 6f 20 74 68 65 20 43 2d 63 61 72 64 nt to the C-card
15e0: 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 20 6d 61 ..</p>..<p>.A ma
15f0: 6e 69 66 65 73 74 20 68 61 73 20 61 6e 20 6f 70 nifest has an op
1600: 74 69 6f 6e 20 5a 2d 63 61 72 64 20 61 73 20 69 tion Z-card as i
1610: 74 73 20 6c 61 73 74 20 6c 69 6e 65 2e 20 20 54 ts last line. T
1620: 68 65 20 61 72 67 75 6d 65 6e 74 0a 74 6f 20 74 he argument.to t
1630: 68 65 20 5a 2d 63 61 72 64 20 69 73 20 61 20 33 he Z-card is a 3
1640: 32 2d 63 68 61 72 61 63 74 65 72 20 6c 6f 77 65 2-character lowe
1650: 72 63 61 73 65 20 68 65 78 61 64 65 63 69 6d 61 rcase hexadecima
1660: 6c 20 4d 44 35 20 68 61 73 68 0a 6f 66 20 61 6c l MD5 hash.of al
1670: 6c 20 70 72 69 6f 72 20 6c 69 6e 65 73 20 6f 66 l prior lines of
1680: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 75 70 the manifest up
1690: 20 74 6f 20 61 6e 64 20 69 6e 63 6c 75 64 69 6e to and includin
16a0: 67 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a 63 g the newline .c
16b0: 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 6d haracter that im
16c0: 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 65 mediately precee
16d0: 64 73 20 74 68 65 20 22 5a 22 2e 20 20 54 68 65 ds the "Z". The
16e0: 20 5a 2d 63 61 72 64 20 69 73 20 6a 75 73 74 0a Z-card is just.
16f0: 61 20 73 61 6e 69 74 79 20 63 68 65 63 6b 20 74 a sanity check t
1700: 6f 20 70 72 6f 76 65 20 74 68 61 74 20 74 68 65 o prove that the
1710: 20 6d 61 6e 69 66 65 73 74 20 69 73 20 77 65 6c manifest is wel
1720: 6c 2d 66 6f 72 6d 65 64 20 61 6e 64 0a 63 6f 6e l-formed and.con
1730: 73 69 73 74 65 6e 74 2e 0a 3c 2f 70 3e 0a 0a 3c sistent..</p>..<
1740: 68 32 3e 32 2e 30 20 43 6c 75 73 74 65 72 73 3c h2>2.0 Clusters<
1750: 2f 68 32 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73 /h2>..<p>.A clus
1760: 74 65 72 20 69 73 20 61 20 61 72 74 69 66 61 63 ter is a artifac
1770: 74 20 74 68 61 74 20 64 65 63 6c 61 72 65 73 20 t that declares
1780: 74 68 65 20 65 78 69 73 74 61 6e 63 65 20 6f 66 the existance of
1790: 20 6f 74 68 65 72 20 61 72 74 69 66 61 63 74 73 other artifacts
17a0: 2e 0a 43 6c 75 73 74 65 72 73 20 61 72 65 20 75 ..Clusters are u
17b0: 73 65 64 20 64 75 72 69 6e 67 20 72 65 70 6f 73 sed during repos
17c0: 69 74 6f 72 79 20 73 79 6e 63 68 72 6f 6e 69 7a itory synchroniz
17d0: 61 74 69 6f 6e 20 74 6f 20 68 65 6c 70 20 0a 72 ation to help .r
17e0: 65 64 75 63 65 20 6e 65 74 77 6f 72 6b 20 74 72 educe network tr
17f0: 61 66 66 69 63 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e affic..</p>..<p>
1800: 0a 43 6c 75 73 74 65 72 73 20 66 6f 6c 6c 6f 77 .Clusters follow
1810: 20 61 20 73 79 6e 74 61 78 20 74 68 61 74 20 69 a syntax that i
1820: 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74 s very similar t
1830: 6f 20 6d 61 6e 69 66 65 73 74 73 2e 0a 41 20 43 o manifests..A C
1840: 6c 75 73 74 65 72 20 69 73 20 61 20 6c 69 6e 65 luster is a line
1850: 2d 6f 72 69 65 6e 74 65 64 20 74 65 78 74 20 66 -oriented text f
1860: 69 6c 65 2e 20 20 4e 65 77 6c 69 6e 65 20 63 68 ile. Newline ch
1870: 61 72 61 63 74 65 72 73 0a 28 41 53 43 49 49 20 aracters.(ASCII
1880: 30 78 30 61 29 20 73 65 70 61 72 61 74 65 20 74 0x0a) separate t
1890: 68 65 20 61 72 74 69 66 61 63 74 20 69 6e 74 6f he artifact into
18a0: 20 63 61 72 64 73 2e 20 20 45 61 63 68 20 63 61 cards. Each ca
18b0: 72 64 20 62 65 67 69 6e 73 20 77 69 74 68 20 61 rd begins with a
18c0: 20 73 69 6e 67 6c 65 0a 63 68 61 72 61 63 74 65 single.characte
18d0: 72 20 22 63 61 72 64 20 74 79 70 65 22 2e 20 20 r "card type".
18e0: 5a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 61 72 67 Zero or more arg
18f0: 75 6d 65 6e 74 73 20 6d 61 79 20 66 6f 6c 6c 6f uments may follo
1900: 77 0a 74 68 65 20 63 61 72 64 20 74 79 70 65 2e w.the card type.
1910: 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 All arguments
1920: 61 72 65 20 73 65 70 61 72 61 74 65 64 20 66 72 are separated fr
1930: 6f 6d 20 65 61 63 68 20 6f 74 68 65 72 0a 61 6e om each other.an
1940: 64 20 66 72 6f 6d 20 74 68 65 20 63 61 72 64 2d d from the card-
1950: 74 79 70 65 20 63 68 61 72 61 63 74 65 72 20 62 type character b
1960: 79 20 61 20 73 69 6e 67 6c 65 20 73 70 61 63 65 y a single space
1970: 0a 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 65 .character. The
1980: 72 65 20 69 73 20 6e 6f 20 73 75 72 70 6c 75 73 re is no surplus
1990: 20 77 68 69 74 65 20 73 70 61 63 65 20 62 65 74 white space bet
19a0: 77 65 65 6e 20 61 72 67 75 6d 65 6e 74 73 0a 61 ween arguments.a
19b0: 6e 64 20 6e 6f 20 6c 65 61 64 69 6e 67 20 6f 72 nd no leading or
19c0: 20 74 72 61 69 6c 69 6e 67 20 77 68 69 74 65 73 trailing whites
19d0: 70 61 63 65 20 65 78 63 65 70 74 20 66 6f 72 20 pace except for
19e0: 74 68 65 20 6e 65 77 6c 69 6e 65 20 0a 63 68 61 the newline .cha
19f0: 72 61 63 74 65 72 20 74 68 61 74 20 61 63 74 73 racter that acts
1a00: 20 61 73 20 74 68 65 20 63 61 72 64 20 73 65 70 as the card sep
1a10: 61 72 61 74 6f 72 2e 0a 41 6c 6c 20 63 61 72 64 arator..All card
1a20: 73 20 6f 66 20 61 20 63 6c 75 74 65 72 20 6f 63 s of a cluter oc
1a30: 63 75 72 20 69 6e 20 73 74 72 69 63 74 20 73 6f cur in strict so
1a40: 72 74 65 64 20 6c 65 78 69 63 6f 67 72 61 70 68 rted lexicograph
1a50: 69 63 61 6c 20 6f 72 64 65 72 2e 0a 4e 6f 20 63 ical order..No c
1a60: 61 72 64 20 6d 61 79 20 62 65 20 64 75 70 6c 69 ard may be dupli
1a70: 63 61 74 65 64 2e 0a 54 68 65 20 63 6c 75 73 74 cated..The clust
1a80: 65 72 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 74 61 er may not conta
1a90: 69 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 in additional te
1aa0: 78 74 20 6f 72 20 64 61 74 61 20 62 65 79 6f 6e xt or data beyon
1ab0: 64 20 0a 77 68 61 74 20 69 73 20 64 65 73 63 72 d .what is descr
1ac0: 69 62 65 64 20 68 65 72 65 2e 0a 55 6e 6c 69 6b ibed here..Unlik
1ad0: 65 20 6d 61 6e 69 66 65 73 74 73 2c 20 63 6c 75 e manifests, clu
1ae0: 73 74 65 72 73 20 61 72 65 20 6e 65 76 65 72 20 sters are never
1af0: 50 47 50 20 73 69 67 6e 65 64 2e 0a 3c 2f 70 3e PGP signed..</p>
1b00: 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 65 64 20 63 61 ..<p>.Allowed ca
1b10: 72 64 73 20 69 6e 20 74 68 65 20 63 6c 75 73 74 rds in the clust
1b20: 65 72 20 61 72 65 20 61 73 20 66 6f 6c 6c 6f 77 er are as follow
1b30: 73 3a 0a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 s:.</p>..<blockq
1b40: 75 6f 74 65 3e 0a 3c 62 3e 4d 3c 2f 62 3e 20 3c uote>.<b>M</b> <
1b50: 69 3e 75 75 69 64 3c 2f 69 3e 0a 3c 62 3e 5a 3c i>uuid</i>.<b>Z<
1b60: 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73 75 6d 3c /b> <i>checksum<
1b70: 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 /i>.</blockquote
1b80: 3e 0a 0a 3c 70 3e 0a 41 20 63 6c 75 73 74 65 72 >..<p>.A cluster
1b90: 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 contains one or
1ba0: 20 6d 6f 72 65 20 22 4d 22 20 63 61 72 64 73 20 more "M" cards
1bb0: 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73 69 followed by a si
1bc0: 6e 67 6c 65 20 22 5a 22 0a 6c 69 6e 65 2e 20 20 ngle "Z".line.
1bd0: 45 61 63 68 20 4d 20 63 61 72 64 20 68 61 73 20 Each M card has
1be0: 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e a single argumen
1bf0: 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 55 t which is the U
1c00: 55 49 44 20 6f 66 20 0a 61 6e 6f 74 68 65 72 20 UID of .another
1c10: 61 72 74 69 66 61 63 74 20 69 6e 20 74 68 65 20 artifact in the
1c20: 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 54 68 65 repository. The
1c30: 20 5a 20 63 61 72 64 20 77 6f 72 6b 20 65 78 61 Z card work exa
1c40: 63 74 6c 79 20 6c 69 6b 65 0a 74 68 65 20 5a 20 ctly like.the Z
1c50: 63 61 72 64 20 6f 66 20 61 20 6d 61 6e 69 66 65 card of a manife
1c60: 73 74 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e st. The argumen
1c70: 74 20 74 6f 20 74 68 65 20 5a 20 63 61 72 64 20 t to the Z card
1c80: 69 73 20 74 68 65 0a 6c 6f 77 65 72 2d 63 61 73 is the.lower-cas
1c90: 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20 72 65 e hexadecimal re
1ca0: 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 presentation of
1cb0: 74 68 65 20 4d 44 35 20 63 68 65 63 6b 73 75 6d the MD5 checksum
1cc0: 20 6f 66 20 61 6c 6c 0a 70 72 69 6f 72 20 63 61 of all.prior ca
1cd0: 72 64 73 20 69 6e 20 74 68 65 20 63 6c 75 73 74 rds in the clust
1ce0: 65 72 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 er. Note that t
1cf0: 68 65 20 5a 20 63 61 72 64 20 69 73 20 72 65 71 he Z card is req
1d00: 75 69 72 65 64 0a 6f 6e 20 61 20 63 6c 75 73 74 uired.on a clust
1d10: 65 72 2e 0a 3c 2f 70 3e 0a 0a 0a 3c 68 32 3e 33 er..</p>...<h2>3
1d20: 2e 30 20 43 6f 6e 74 72 6f 6c 20 41 72 74 69 66 .0 Control Artif
1d30: 61 63 74 73 3c 2f 68 32 3e 0a 0a 3c 70 3e 0a 43 acts</h2>..<p>.C
1d40: 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 73 ontrol artifacts
1d50: 20 61 72 65 20 75 73 65 64 20 74 6f 20 61 73 73 are used to ass
1d60: 69 67 6e 20 70 72 6f 70 65 72 74 69 65 73 20 74 ign properties t
1d70: 6f 20 6f 74 68 65 72 20 61 72 74 69 66 61 63 74 o other artifact
1d80: 73 0a 77 69 74 68 69 6e 20 74 68 65 20 72 65 70 s.within the rep
1d90: 6f 73 69 74 6f 72 79 2e 20 20 54 68 65 20 62 61 ository. The ba
1da0: 73 69 63 20 66 6f 72 6d 61 74 20 6f 66 20 61 20 sic format of a
1db0: 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 control artifact
1dc0: 20 69 73 0a 74 68 65 20 73 61 6d 65 20 61 73 20 is.the same as
1dd0: 61 20 6d 61 6e 69 66 65 73 74 20 6f 72 20 63 6c a manifest or cl
1de0: 75 73 74 65 72 2e 20 20 41 20 63 6f 6e 74 72 6f uster. A contro
1df0: 6c 20 61 72 74 69 66 61 63 74 20 69 73 20 61 20 l artifact is a
1e00: 74 65 78 74 0a 66 69 6c 65 73 20 64 69 76 69 64 text.files divid
1e10: 65 64 20 69 6e 74 6f 20 63 61 72 64 73 20 62 79 ed into cards by
1e20: 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 newline charact
1e30: 65 72 73 2e 20 20 45 61 63 68 20 63 61 72 64 20 ers. Each card
1e40: 68 61 73 20 61 0a 73 69 6e 67 6c 65 2d 63 68 61 has a.single-cha
1e50: 72 61 63 74 65 72 20 63 61 72 64 20 74 79 70 65 racter card type
1e60: 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 72 67 followed by arg
1e70: 75 6d 65 6e 74 73 2e 20 20 53 70 61 63 65 73 20 uments. Spaces
1e80: 73 65 70 61 72 61 74 65 0a 74 68 65 20 63 61 72 separate.the car
1e90: 64 20 74 79 70 65 20 61 6e 64 20 74 68 65 20 61 d type and the a
1ea0: 72 67 75 6d 65 6e 74 73 2e 20 20 4e 6f 20 73 75 rguments. No su
1eb0: 72 70 6c 75 73 20 77 68 69 74 65 73 70 61 63 65 rplus whitespace
1ec0: 20 69 73 20 61 6c 6c 6f 77 65 64 2e 0a 41 6c 6c is allowed..All
1ed0: 20 63 61 72 64 73 20 6d 75 73 74 20 6f 63 63 75 cards must occu
1ee0: 72 20 69 6e 20 73 74 72 69 63 74 20 6c 65 78 69 r in strict lexi
1ef0: 67 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 2e graphical order.
1f00: 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 41 6c 6c 6f 77 .</p>..<p>.Allow
1f10: 65 64 20 63 61 72 64 73 20 69 6e 20 61 20 63 6f ed cards in a co
1f20: 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 20 61 ntrol artifact a
1f30: 72 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 3c re as follows:.<
1f40: 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 /p>..<blockquote
1f50: 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c 69 3e 74 69 >.<b>D</b> <i>ti
1f60: 6d 65 2d 61 6e 64 2d 64 61 74 65 2d 73 74 61 6d me-and-date-stam
1f70: 70 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 54 p</i><br />.<b>T
1f80: 3c 2f 62 3e 20 3c 69 3e 74 61 67 2d 6e 61 6d 65 </b> <i>tag-name
1f90: 20 20 75 75 69 64 20 20 3f 76 61 6c 75 65 3f 3c uuid ?value?<
1fa0: 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 5a 3c 2f /i><br />.<b>Z</
1fb0: 62 3e 20 3c 69 3e 63 68 65 63 6b 73 75 6d 3c 2f b> <i>checksum</
1fc0: 69 3e 3c 62 72 20 2f 3e 0a 3c 2f 62 6c 6f 63 6b i><br />.</block
1fd0: 71 75 6f 74 65 3e 0a 0a 3c 70 3e 0a 41 20 63 6f quote>..<p>.A co
1fe0: 6e 74 72 6f 6c 20 61 72 74 69 66 61 63 74 20 6d ntrol artifact m
1ff0: 75 73 74 20 68 61 76 65 20 6f 6e 65 20 44 20 63 ust have one D c
2000: 61 72 64 20 61 6e 64 20 6f 6e 65 20 5a 20 63 61 ard and one Z ca
2010: 72 64 20 61 6e 64 0a 6f 6e 65 20 6f 72 20 6d 6f rd and.one or mo
2020: 72 65 20 6f 72 20 6d 6f 72 65 20 54 20 63 61 72 re or more T car
2030: 64 73 2e 20 20 4e 6f 20 6f 74 68 65 72 20 63 61 ds. No other ca
2040: 72 64 73 20 6f 72 20 6f 74 68 65 72 20 74 65 78 rds or other tex
2050: 74 20 69 73 0a 61 6c 6c 6f 77 65 64 20 69 6e 20 t is.allowed in
2060: 61 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 66 61 a control artifa
2070: 63 74 2e 20 20 43 6f 6e 74 72 6f 6c 20 61 72 74 ct. Control art
2080: 69 66 61 63 74 73 20 6d 69 67 68 74 20 62 65 20 ifacts might be
2090: 50 47 50 0a 63 6c 65 61 72 73 69 67 6e 65 64 2e PGP.clearsigned.
20a0: 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20 44 20 63 </p>..<p>The D c
20b0: 61 72 64 20 61 6e 64 20 74 68 65 20 5a 20 63 61 ard and the Z ca
20c0: 72 64 20 6f 66 20 61 20 63 6f 6e 74 72 6f 6c 20 rd of a control
20d0: 61 72 74 69 66 61 63 74 20 61 72 65 20 74 68 65 artifact are the
20e0: 20 73 61 6d 65 0a 61 73 20 69 6e 20 61 20 6d 61 same.as in a ma
20f0: 6e 69 66 65 73 74 2e 3c 2f 70 3e 0a 0a 3c 70 3e nifest.</p>..<p>
2100: 54 68 65 20 54 20 63 61 72 64 20 72 65 70 72 65 The T card repre
2110: 73 65 6e 74 73 20 61 20 22 74 61 67 22 20 6f 72 sents a "tag" or
2120: 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 20 69 property that i
2130: 73 20 61 70 70 6c 69 65 64 20 74 6f 0a 73 6f 6d s applied to.som
2140: 65 20 6f 74 68 65 72 20 61 72 74 69 66 61 63 74 e other artifact
2150: 2e 20 20 54 68 65 20 54 20 63 61 72 64 20 68 61 . The T card ha
2160: 73 20 74 77 6f 20 6f 72 20 74 68 72 65 65 20 76 s two or three v
2170: 61 6c 75 65 73 2e 20 20 54 68 65 0a 73 65 63 6f alues. The.seco
2180: 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 nd argument is t
2190: 68 65 20 34 30 20 63 68 61 72 61 63 74 65 72 20 he 40 character
21a0: 6c 6f 77 65 72 63 61 73 65 20 55 55 49 44 20 6f lowercase UUID o
21b0: 66 20 74 68 65 20 61 72 74 69 66 61 63 74 0a 74 f the artifact.t
21c0: 6f 20 77 68 69 63 68 20 74 68 65 20 74 61 67 20 o which the tag
21d0: 69 73 20 74 6f 20 62 65 20 61 70 70 6c 69 65 64 is to be applied
21e0: 2e 20 54 68 65 0a 66 69 72 73 74 20 76 61 6c 75 . The.first valu
21f0: 65 20 69 73 20 74 68 65 20 74 61 67 20 6e 61 6d e is the tag nam
2200: 65 2e 20 20 54 68 65 20 66 69 72 73 74 20 63 68 e. The first ch
2210: 61 72 61 63 74 65 72 20 6f 66 20 74 68 65 20 74 aracter of the t
2220: 61 67 0a 69 73 20 65 69 74 68 65 72 20 22 2b 22 ag.is either "+"
2230: 2c 20 22 2d 22 2c 20 6f 72 20 22 2a 22 2e 20 20 , "-", or "*".
2240: 41 20 22 2b 22 20 6d 65 61 6e 73 20 74 68 65 20 A "+" means the
2250: 74 61 67 20 73 68 6f 75 6c 64 20 62 65 20 61 64 tag should be ad
2260: 64 65 64 0a 74 6f 20 74 68 65 20 61 72 74 69 66 ded.to the artif
2270: 61 63 74 2e 20 20 54 68 65 20 22 2d 22 20 6d 65 act. The "-" me
2280: 61 6e 73 20 74 68 65 20 74 61 67 20 73 68 6f 75 ans the tag shou
2290: 6c 64 20 62 65 20 72 65 6d 6f 76 65 64 2e 0a 54 ld be removed..T
22a0: 68 65 20 22 2a 22 20 63 68 61 72 61 63 74 65 72 he "*" character
22b0: 20 6d 65 61 6e 73 20 74 68 65 20 74 61 67 20 73 means the tag s
22c0: 68 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 74 hould be added t
22d0: 6f 20 74 68 65 20 61 72 74 69 66 61 63 74 0a 61 o the artifact.a
22e0: 6e 64 20 61 6c 6c 20 64 69 72 65 63 74 20 64 65 nd all direct de
22f0: 63 65 6e 64 65 6e 74 73 20 28 62 75 74 20 6e 6f cendents (but no
2300: 74 20 62 72 61 6e 63 68 65 73 29 20 6f 66 20 74 t branches) of t
2310: 68 65 20 61 72 74 69 66 61 63 74 2e 0a 54 68 65 he artifact..The
2320: 20 6f 70 74 69 6f 6e 61 6c 20 74 68 69 72 64 20 optional third
2330: 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 argument is the
2340: 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74 61 67 value of the tag
2350: 2e 20 20 41 20 74 61 67 0a 77 69 74 68 6f 75 74 . A tag.without
2360: 20 61 20 76 61 6c 75 65 20 69 73 20 63 6f 6e 73 a value is cons
2370: 69 64 65 72 65 64 20 74 6f 20 62 65 20 61 20 62 idered to be a b
2380: 6f 6f 6c 65 61 6e 2e 3c 2f 70 3e 0a 0a 3c 70 3e oolean.</p>..<p>
2390: 57 68 65 6e 20 74 77 6f 20 6f 72 20 6d 6f 72 65 When two or more
23a0: 20 74 61 67 73 20 77 69 74 68 20 74 68 65 20 73 tags with the s
23b0: 61 6d 65 20 6e 61 6d 65 20 61 72 65 20 61 70 70 ame name are app
23c0: 6c 69 65 64 20 74 6f 20 74 68 65 0a 73 61 6d 65 lied to the.same
23d0: 20 61 72 74 69 66 61 63 74 2c 20 74 68 65 20 74 artifact, the t
23e0: 61 67 20 77 69 74 68 20 74 68 65 20 6c 61 74 65 ag with the late
23f0: 73 74 20 28 6d 6f 73 74 20 72 65 63 65 6e 74 29 st (most recent)
2400: 20 64 61 74 65 20 69 73 0a 75 73 65 64 2e 3c 2f date is.used.</
2410: 70 3e 0a 0a 3c 70 3e 53 6f 6d 65 20 74 61 67 73 p>..<p>Some tags
2420: 20 68 61 76 65 20 73 70 65 63 69 61 6c 20 6d 65 have special me
2430: 61 6e 69 6e 67 2e 20 20 54 68 65 20 22 63 6f 6d aning. The "com
2440: 6d 65 6e 74 22 20 74 61 67 20 77 68 65 6e 20 61 ment" tag when a
2450: 70 70 6c 69 65 64 0a 74 6f 20 61 20 62 61 73 65 pplied.to a base
2460: 6c 69 6e 65 20 77 69 6c 6c 20 6f 76 65 72 72 69 line will overri
2470: 64 65 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 20 de the check-in
2480: 63 6f 6d 6d 65 6e 74 20 6f 66 20 74 68 61 74 20 comment of that
2490: 62 61 73 65 6c 69 6e 65 0a 66 6f 72 20 64 69 73 baseline.for dis
24a0: 70 6c 61 79 20 70 75 72 70 6f 73 65 73 2e 3c 2f play purposes.</
24b0: 70 3e 0a 0a 3c 68 32 3e 34 2e 30 20 57 69 6b 69 p>..<h2>4.0 Wiki
24c0: 20 50 61 67 65 73 3c 2f 68 32 3e 0a 0a 3c 70 3e Pages</h2>..<p>
24d0: 41 20 77 69 6b 69 20 70 61 67 65 20 69 73 20 61 A wiki page is a
24e0: 6e 20 61 72 74 69 66 61 63 74 20 69 6e 20 61 20 n artifact in a
24f0: 66 6f 72 6d 61 74 20 73 69 6d 69 6c 61 72 20 74 format similar t
2500: 6f 20 6d 61 6e 69 66 65 73 74 73 2c 0a 63 6c 75 o manifests,.clu
2510: 73 74 65 72 73 2c 20 61 6e 64 20 63 6f 6e 74 72 sters, and contr
2520: 6f 6c 20 61 72 74 69 66 61 63 74 73 2e 20 20 54 ol artifacts. T
2530: 68 65 20 61 72 74 69 66 61 63 74 20 69 73 20 64 he artifact is d
2540: 69 76 69 64 65 64 20 69 6e 74 6f 0a 63 61 72 64 ivided into.card
2550: 73 20 62 79 20 6e 65 77 6c 69 6e 65 20 63 68 61 s by newline cha
2560: 72 61 63 74 65 72 73 2e 20 20 54 68 65 20 66 6f racters. The fo
2570: 72 6d 61 74 20 6f 66 20 65 61 63 68 20 63 61 72 rmat of each car
2580: 64 20 69 73 20 61 73 20 69 6e 0a 6d 61 6e 69 66 d is as in.manif
2590: 65 73 74 73 2c 20 63 6c 75 73 74 65 72 73 2c 20 ests, clusters,
25a0: 61 6e 64 20 63 6f 6e 74 72 6f 6c 20 61 72 74 69 and control arti
25b0: 66 61 63 74 73 2e 20 20 57 69 6b 69 20 61 72 74 facts. Wiki art
25c0: 69 66 61 63 74 73 20 61 63 63 65 70 74 0a 74 68 ifacts accept.th
25d0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 72 64 e following card
25e0: 20 74 79 70 65 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c types:</p>..<bl
25f0: 6f 63 6b 71 75 6f 74 65 3e 0a 3c 62 3e 44 3c 2f ockquote>.<b>D</
2600: 62 3e 20 3c 69 3e 74 69 6d 65 2d 61 6e 64 2d 64 b> <i>time-and-d
2610: 61 74 65 2d 73 74 61 6d 70 3c 2f 69 3e 3c 62 72 ate-stamp</i><br
2620: 20 2f 3e 0a 3c 62 3e 4c 3c 2f 62 3e 20 3c 69 3e />.<b>L</b> <i>
2630: 77 69 6b 69 2d 74 69 74 6c 65 3c 2f 69 3e 3c 62 wiki-title</i><b
2640: 72 20 2f 3e 0a 3c 62 3e 55 3c 2f 62 3e 20 3c 69 r />.<b>U</b> <i
2650: 3e 75 73 65 72 2d 6e 61 6d 65 3c 2f 69 3e 3c 62 >user-name</i><b
2660: 72 20 2f 3e 0a 3c 62 3e 57 3c 2f 62 3e 20 3c 69 r />.<b>W</b> <i
2670: 3e 73 69 7a 65 3c 2f 69 3e 20 5c 6e 20 3c 69 3e >size</i> \n <i>
2680: 74 65 78 74 3c 2f 69 3e 20 5c 6e 3c 62 72 20 2f text</i> \n<br /
2690: 3e 0a 3c 62 3e 5a 3c 2f 62 3e 20 3c 69 3e 63 68 >.<b>Z</b> <i>ch
26a0: 65 63 6b 73 75 6d 3c 2f 69 3e 0a 3c 2f 62 6c 6f ecksum</i>.</blo
26b0: 63 6b 71 75 6f 74 65 3e 0a 0a 0a 3c 68 32 3e 35 ckquote>...<h2>5
26c0: 2e 30 20 54 69 63 6b 65 74 20 43 68 61 6e 67 65 .0 Ticket Change
26d0: 73 3c 2f 68 32 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 s</h2>..<blockqu
26e0: 6f 74 65 3e 0a 3c 62 3e 44 3c 2f 62 3e 20 3c 69 ote>.<b>D</b> <i
26f0: 3e 74 69 6d 65 2d 61 6e 64 2d 64 61 74 65 2d 73 >time-and-date-s
2700: 74 61 6d 70 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c tamp</i><br />.<
2710: 62 3e 4a 3c 2f 62 3e 20 3f 3c 62 3e 2b 3c 2f 62 b>J</b> ?<b>+</b
2720: 3e 3f 3c 69 3e 6e 61 6d 65 20 76 61 6c 75 65 3c >?<i>name value<
2730: 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 4b 3c 2f /i><br />.<b>K</
2740: 62 3e 20 3c 69 3e 74 69 63 6b 65 74 2d 75 75 69 b> <i>ticket-uui
2750: 64 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 55 d</i><br />.<b>U
2760: 3c 2f 62 3e 20 3c 69 3e 75 73 65 72 2d 6e 61 6d </b> <i>user-nam
2770: 65 3c 2f 69 3e 3c 62 72 20 2f 3e 0a 3c 62 3e 5a e</i><br />.<b>Z
2780: 3c 2f 62 3e 20 3c 69 3e 63 68 65 63 6b 73 75 6d </b> <i>checksum
2790: 3c 2f 69 3e 0a 3c 2f 62 6c 6f 63 6b 71 75 6f 74 </i>.</blockquot
27a0: 65 3e 0a 0a e>..